Struts维持页面的表单输入

在验证表单的时候把FormBean保存在request中,例如:

public void setPassword(String password) {
this.password = password;
}
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request)
{
ActionErrors error=new ActionErrors();
if(this.username==null||this.username=="")
{
error.add("username",new ActionMessage("login.error.username"));//username作为jsp页面查找的property
}
if(this.password==null||this.password=="")
{
error.add("password",new ActionMessage("login.error.password"));//password作为jsp页面查找的property
}
  request.setAttribute("loginFormBean", this);//-------------------------------(1)
return error;
}
}

(1)中就是保存在request中,然后在jsp页面中

<logic:present name="loginFormBean">-----------(2)
<html:text property="username" name="loginFormBean"></html:text>
</logic:present>
  <logic:notPresent name="loginFormBean">--------(3)
<input type="text" name="username" />
</logic:notPresent>

来显示

<logic:present name="loginFormBean">----------(2)

表示request中存在loginFormBean

就显示<html:text property="username" name="loginFormBean"></html:text>

其中property代表表单中的属性名

同理<logic:notPresent name="loginFormBean">----------(3)

表示不存在loginFormBeaanj就现在的内容


你可能感兴趣的:(Struts维持页面的表单输入)