最近看了看struts,遇到一个问题:
Struts标签<html:radio/>校验失败返回后默认值不能保持,纠结半天是乱码问题!!
1、标签页面
<strong>用户注册</strong>
<html:form action="/register">
用户名 : <html:text property="username"/><html:errors property="regun"/><br/>
密码 : <html:password property="password"/><html:errors property="regpw"/><br/>
确认密码 : <html:password property="password2"/><html:errors property="regpw2"/><br/>
性别 : <html:radio property="sex" value="男">男</html:radio>
<html:radio property="sex" value="女">女</html:radio><br/>
生日 : <html:text property="birthday" onclick="JTC.setday(this)" readonly="true"/><html:errors property="regbday"/><br/>
邮箱 : <html:text property="email"/><html:errors property="regemail"/><br/>
<html:submit value="提交"/><html:reset value="重置"/>
</html:form>
2、actionForm中添加校验和默认值
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
ActionErrors errors = new ActionErrors();
if(username == null || username.trim().equals("")) {
errors.add("regun",new ActionMessage("reg.error.username"));
}
if(password == null || password.trim().equals("")) {
errors.add("regpw",new ActionMessage("reg.error.password"));
}
if(password2 == null || password2.trim().equals("") || !password2.equals(password)) {
errors.add("regpw2",new ActionMessage("reg.error.password2"));
}
if(birthday == null || !birthday.matches("[0-9]{4}-[0-9]{2}-[0-9]{2}")) {
errors.add("regbday",new ActionMessage("reg.error.birthday"));
}
if(email == null || !email.matches(".+@.+\\..+")) {
errors.add("regemail",new ActionMessage("reg.error.email"));
}
return errors;
}
public void reset(ActionMapping mapping, HttpServletRequest request) {
sex = "男";
}
3、页面提交后,提示校验信息,但是<html:radio/>标签不显示默认值!
这种情况下不选择值,直接提交保存,可以保存,但是radio是乱码!
--------没有设置编码,添加编码的filter:
public static final String ENCODING = "UTF-8";
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
((HttpServletRequest) request).setCharacterEncoding(ENCODING);
((HttpServletResponse) response).setCharacterEncoding(ENCODING);
chain.doFilter(request, response);
}
public void init(FilterConfig arg0) throws ServletException {
}
便可以正常显示了,原来是中文传过程中编码出现问题。望借鉴!最好用英文字符!
分享到:
相关推荐
struts2 <s:if>标签使用struts2 <s:if>标签使用struts2 <s:if>标签使用struts2 <s:if>标签使用struts2 <s:if>标签使用struts2 <s:if>标签使用
解决了<jsp:forward/>跳转no fond 的问题
NULL 博文链接:https://z18022893621.iteye.com/blog/1956098
<td> <s:set name="actorRef" value="actorId" /> <s:set name="taskName" value="name" /> <s:if test="#actorRef=='' or #actorRef==null">共享任务(<a href="${pageContext.request.contextPath}/ga/...
<s:property /><br/> </s:iterator> </s:generator> 例2: 生成一个iterator,使用count属性。因为count属性值为3,所以只有前三个内容(aaa,bbb,ccc)在生成的iterator中。 Generate an iterator with count ...
关于STRUTS标签的一些详细说明。 如:<html:form>的说明。
<s:checkbox></s:checkbox>-----复选框 <s:checkboxlist list=""></s:checkboxlist>-----多选框 <s:combobox list=""></s:combobox>-----下拉框 <s:component></s:component>-----图像符号 D: <s:date/>-----获取...
<tr><br> <td>姓名</td><br> <td>年龄</td><br> <td>所属组</td><br> </tr><br> <c:forEach var="user" items="${userlist}"><br> <tr><br> <td><c:out value="${user.username}"/></td><br> <td><c:out value="${...
<%@ taglib prefix="s" uri="/struts-tags" %> 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. <s:a href=""></s:a>-----超链接,类似于html里的<a></a> 3. <s:...
1. Map里存放的是bean时<br><br><logic:iterate id="destMap" name="srcMap"><br><br> <bean:define id="bean" name="destMap" property="value" /><br><br> <bean:write name="bean" property="name" /><br><br></...
<%@ taglib uri="/struts-tags" prefix="s" %> 结合例子,重点掌握以下标签的用法 (1) <s:property> (2) <s:set> (3) <s:if> 、<s:elseif>、<s:else> (4) <s:iterator> (5) <s:include> (6) <s:form>、<s:hidden> (7...
<%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-...
<%@ taglib uri="/struts-tags" prefix="s" %> 结合例子,重点掌握以下标签的用法 (1) <s:property> (2) <s:set> (3) <s:if> 、<s:elseif>、<s:else> (4) <s:iterator> (5) <s:include> (6) <s:form>、<s:hidden> (7...
b.<decorator:title/>这个标签会找到被装饰页面的title(<title></title>标签内)内容填入, <decorator:head/>找到被装饰页面的head(<head></head>标签内)内容填入,<decorator:body/>找到被装饰页面的body(<body></...
autoReconnect=true&useUnicode=true&characterEncoding=GB2312</value><br/> </parameter><br/> <parameter><br/> <name>username</name><br/> <value>root</value><br/> </parameter><br/> <parameter><br/> <name...
autoReconnect=true&useUnicode=true&characterEncoding=GB2312</value><br/> </parameter><br/> <parameter><br/> <name>username</name><br/> <value>root</value><br/> </parameter><br/> <parameter><br/> <name...
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><br><html><br> <head><br> </head><br> <body><br> <table><br> <tr><br> <td><%@ include file="../menu.txt"%><br> </td><br> </tr>...
<form name="form1" action="login.do" method="post"> <table width="300" border="1"> <tr> <td colspan="2"><bean:message key="login.page.title" /></td> </tr> <tr> <td><bean:message key="login.page...
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd"> <struts-config> <data-sources> <data-source/> </data-sources> <form-beans> <form-bean / > </form-beans> <global-forwards> ...
Struts原理、开发及项目实施<br/> Holen 2002-9-12<br/><br/>1、 摘要<br/>2、 关键词<br/>3、 Framework<br/>4、 Struts的起源<br/>5、 Struts工作原理<br/>6、 Struts安装<br/>7、 一个实例<br/>8、 Struts优缺点...