//struts表单布局
//默认提交方式:post
//自动布局表格样式:table-tr-td,可以加入theme=”simple”取消默认样式
//全局取消表格样式:在struts.xml配置文件中加入
<constant name=”struts.ui.theme” value=”simple”></constant>
在JSP页面
<s:form action="login.action" theme="simple">
用户名:<s:textfield name="user.userName"></s:textfield><br>
年龄:<s:textfield name="user.age"></s:textfield>
</s:form>
表单验证:
先执行validate()方法;后执行目标方法(如login()方法)。
1、在struts.xml配置文件中加入:
<result name="input">index.jsp</result>
2、继承ActionSupport
public class UserAction extends ActionSupport
3、重写validate方法
//验证方法
@Override
public void validate(){
if(user.getUserName()==null||user.getUserName().equals("")){
addFieldError("nameErr", "用户名为空!");
}
if(user.getAge()==0){
addFieldError("ageErr", "密码为空!");
}
}
4、在jsp页面加入:
//显示全部错误信息
//theme=”simple”取消默认的无序列表样式
<s:fielderror theme="simple"></s:fielderror>
//分别显示错误信息
<s:fielderror name="nameErr" theme="simple"></s:fielderror>
<s:fielderror name="ageErr" theme="simple"></s:fielderror>
5、让验证方法只对一个方法有效
//验证方法不再重写,在validate后加上要验证的目标方法明,首字母大写
public void validateLogin(){
if(user.getUserName()==null||user.getUserName().equals("")){
addFieldError("nameErr", "用户名为空!");
}
if(user.getAge()==0){
addFieldError("ageErr", "密码为空!");
}
}