修改Struts2表单异常提示的显示样式
修改Struts2表单错误提示的显示样式
表单代码:
<s:form action="userRegisterAction" method="post"> <s:textfield name="username" required="true" label="用户名"></s:textfield><br/> <s:password label="密码" name="userpass" required="true" requiredposition="left"></s:password><br/> <s:radio list="#{1:'男',0:'女'}" name="sex" requiredposition="left" label="性别"></s:radio><br/> <s:select list="{'请选择省份','江苏','北京','上海','广州'}" name="province" requiredposition="left" label="省份"></s:select><br/> <s:checkboxlist list="{'C','Java','C#'}" name="goodat" label="特长"></s:checkboxlist><br/> <s:textarea rows="5" cols="30" name="description" requiredposition="left" label="描述"></s:textarea><br/> <s:submit value="注册"></s:submit> <s:reset value="清空"></s:reset> </s:form>
userRegisterAction.java很简单:
public class UserRegisterAction extends ActionSupport { /** * @author lovemu * 用户注册 */ private static final long serialVersionUID = -6342452733015612274L; private String username; //用户名 private String userpass; //密码 private int sex; //性别 private String province; //省份 private String[] goodat; //特长 private String description; //描述 public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getUserpass() { return userpass; } public void setUserpass(String userpass) { this.userpass = userpass; } public int getSex() { return sex; } public void setSex(int sex) { this.sex = sex; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String[] getGoodat() { return goodat; } public void setGoodat(String[] goodat) { this.goodat = goodat; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String execute() throws Exception{ return SUCCESS; } }
execute()方法中只有一句,用于测试
错误信息显示为:
更改表单为:
<s:form action="userRegisterAction" method="post" theme="simple"> <label>用户名:</label><s:textfield name="username" required="true"></s:textfield><br/> <label>密 码:</label><s:password label="密码" name="userpass" required="true" requiredposition="left"></s:password><br/> <label>性 别:</label><s:radio list="#{1:'男',0:'女'}" name="sex" requiredposition="left"></s:radio><br/> <label>省 份:</label><s:select list="{'请选择省份','江苏','北京','上海','广州'}" name="province" requiredposition="left"></s:select><br/> <label>特 长:</label><s:checkboxlist list="{'C','Java','C#'}" name="goodat"></s:checkboxlist><br/> <label>描 述:</label><s:textarea rows="5" cols="30" name="description" requiredposition="left"></s:textarea><br/> <s:submit value="注册"></s:submit> <s:reset value="清空"></s:reset> </s:form>
再添加一句:
<s:fielderror cssStyle="color:red"></s:fielderror>
将会使提示信息变为:
这样再适当修改下样式,就可以很美观的将错误提示信息集中显示在一个地方
其中关键地方就是在表单中添加一句:theme="simple"
然后,就是在自己想要显示错误样式的地方,比如<div></div>里,
添加一句:<s:fielderror cssStyle="color:red"></s:fielderror>