读书人

再度理解ActionForm

发布时间: 2012-11-07 09:56:10 作者: rapoo

再次理解ActionForm

该项目是我自己写的, 该项目知识点如下:
该项目是多个表单一步步提交,在最后页面展示各个页面输入的信息;
1.多个表单应该对应多个ActionForm,此处用一个ActionForm包含了各个表单的属性
2.每个表单(step1.jsp,step2.jsp,step3.jsp,finish.jsp)的提交,都对应一个Action来处理,
不过此处没有写Action类,只是写了多个action标签,而具体的转向由forward属性来负责;
3.多个提交(step1.jsp,step2.jsp,step3.jsp,finish.jsp)对应的Action共用一个ActionForm(StepActionForm.java)

4.如果在一个页面想得到多个action提交处理的数据,需要在各个action标签中设置:scope="session"
5.ActionForm接收数据时会出现乱码,采用过滤器来处理乱码问题

==========过滤器类SetCharacterEncodingFilter.java=========

public class SetCharacterEncodingFilter implements Filter  {private String encoding;public void destroy() {}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {request.setCharacterEncoding(this.encoding);      chain.doFilter(request,response);}public void init(FilterConfig filterConfig) throws ServletException {this.encoding=filterConfig.getInitParameter("encoding");}}

============web.xml=============
<filter>
<filter-name>SetCharacterEncodingFilter</filter-name>
<filter-class>com.wlh.servlet.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

读书人网 >软件架构设计

热点推荐