作者:wjyyd1129 | 来源:互联网 | 2023-07-22 19:53
我在登录界面的usernamepassword不输入任何值,为什么不会显示出错误提示呢<%@pagelanguagejavaimportjava.util.*
我在登录界面的username password 不输入任何值,为什么不会显示出错误提示呢
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
">
package com.test.action;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class LoginAction extends ActionSupport{
String username;
String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute(){
return "success";
}
@Override
public void validate() {
if(null == this.getUsername()||"".equals(this.getUsername().trim())){
this.addFieldError("username", "username required");
}
if(null == this.getUsername()||"".equals(this.getPassword().trim())){
this.addFieldError("password", "password required");
}
}
}
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
/login2.jsp
/result.jsp
21 个解决方案
username required
password required
我这里有提示,你是怎么提交的
login2.jsp直接submit
public void validate() {
if(null == this.getUsername()||"".equals(this.getUsername().trim())){
this.addFieldError("username", "username required");
}
if(null == this.getUsername()||"".equals(this.getPassword().trim())){
this.addFieldError("password", "password required");
}
}
换成这样看看
public void validate() {
if(null==username || "".equals(username.trim())){
this.addFieldError("username","The username is blank!");
}
if(null==password||"".equals(password.trim())){
this.addFieldError("password", "The password is blank");
}
}
你的web.xml配置有问题,我用我的试过了可以。
你参考下我的web.xml配置:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
struts-cleanup
org.apache.struts2.dispatcher.ActionContextCleanUp
struts2
org.apache.struts2.dispatcher.FilterDispatcher
struts-cleanup
/*
struts2
/*
index.jsp
struts.xml配置文件有缺陷把,不能返回对应的错误页面导致错误不能显示,用debug标签试下看看stackvalue里面有对象没
你会debug吗,看有没有执行validate方法
我的也没问题啊,可能楼主的配置问题,路径是不是错误!
当然什么都不会显示,也不会报错了,你的HTML页面就没有和action关联,怎么会显示啊
你new的时候没有删除原来的那些声明吧。没当做struts的配置文件
这么简单的错误我当初竟然也没看出来。。 是2次都判断的Username!!!