我在这里遇到一个奇怪的问题。我的struts2 addFieldError(fieldName,ErrorMessage)
没有在我的jsp上显示错误
我也在扩展ActionSupport
,在我的Struts.xml中,我的主题设置并不简单。
我的ActionListener是
package pebsms.actionBeans.UserActions;
import pebsms.business.UserBusiness.Impls.UserBusinessImpl;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
UserBusinessImpl userBusiness;
public String userPassword;
public String userName;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPassword;
}
. public String execute()
{
return SUCCESS;
}
public void validate()
{
if (getUserPassword().length() <= 0)
addFieldError(userPassword, "Enter Password");
if (getUserName().length() <= 0)
addFieldError(userName, "Enter UserName");
if (!userBusiness.authenticateUser(userName, userPassword))
addActionError("User authentication failed");**
}
}
我的Struts.xml是
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="struts-default" >
<action name="Login" >
<result>/pages/LoginScreen/Login.jsp</result>
</action>
<action name="LoginAction" class="userAction">
<result name="input">/pages/LoginScreen/Login.jsp</result>
</action>
</package>
</struts>
addFieldError
没有像我自己那样在jsp上提供错误消息,即使在validate()中调用了该方法。
答案 0 :(得分:0)
你的addFieldError方法不正确。应该是:
addFieldError("userName", "Enter UserName");
在jsp上使用元素的'name'属性。
答案 1 :(得分:0)
如果您在struts标记文本字段中使用简单主题。<s:textfield theme="simple" />
然后将其删除。
通常错误消息在两行之间被切换。试试这个。
并给我你的答复。