一、简介
1、struts表单效验时会把提交的内容封装成bean存放在request域中,存放的关键字是UserFormBean
2、效验 错误后会跳转回提交表单页面
二、实例
bean之Gender
public enum Gender {
MALE("male","男"),FEMALE("female","女");
private String name;
private String value;
private Gender(String name,String value) {
this.name=name;
this.value=value;
}
public String getName() {
return name;
}
public String getValue() {
return value;
}
}
bean之Preference
public enum Preference {
SING("sing","唱歌"),DANCE("dance","跳舞");
private String name;
private String value;
private Preference(String name,String value) {
// TODO Auto-generated constructor stub
this.name=name;
this.value=value;
}
public String getName() {
return name;
}
public String getValue() {
return value;
}
}
form表单
<form action="${pageContext.request.contextPath}/Register.do" method="post">
<table>
<tr>
<td>用户名</td>
<td>
<input type="text" name="username" value="${UserFormBean.name}">
</td>
</tr>
<tr>
<td>密码</td>
<td>
<input type="password" name="password" value="${UserFormBean.password}">
</td>
</tr>
<tr>
<td>确认密码</td>
<td>
<input type="password" name="password">
</td>
</tr>
<tr>
<td>性别</td>
<td>
<c:forEach var="gender" items="<%=Gender.values()%>">
<input type="radio" name="gender" value="${gender.name}">${gender.value}
</c:forEach>
</td>
</tr>
<tr>
<td>爱好</td>
<td>
<c:forEach var="pre" items="<%=Preference.values()%>">
<input type="checkbox" name="preference" value="${pre.name}" ${fn:contains(fn:join(UserFormBean.preference,","),pre.name)?checked:''}>${pre.value}
</c:forEach>
</td>
</tr>
<tr>
<td>城市</td>
<td>
<select name="city">
<option ${UserFormBean.city=='beijing'?selected:''}>北京</option>
<option ${UserFormBean.city=='shanghai'?selected:''}>上海</option>
</select>
</td>
</tr>
<tr>
<td>
<input type="submit" value="注册">
</td>
</tr>
</table>
</form>
config文件
<action-mappings>
<action path="/Register"
type="action.Register"
name="UserFormBean"
scope="request"
validate="true"
input="/Register.jsp">
</action>
</action-mappings>