再次理解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>

你可能感兴趣的:(再次理解actionform)