`
esffor
  • 浏览: 1353395 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts中一起提交多个JSP中的表单

阅读更多

      如果需要提交的表单内容比较多,一个JSP页面不够用,就需要多个表单依次提交,最后一起汇总给
ActionServlet处理

   JSP1页面(其中hidden字段很重要,表示是第一个提交页面)
  
 <html>
     
<head>
     
<title>jsp1</title>
     
</head>
     
<body bgcolor="#ffffff">
     
<html:form action="/insertAction.do">
       
<html:hidden property="page" value="1"/>
       name:
<html:text property="name"/>
       pass:
<html:text property="password"/>
      
<html:submit>submit
     
</html:submit>
    
</html:form>
    
</body>
    
</html>

JSP2页面

 

     <html>
     
<head>
     
<title>jsp2</title> 
     
</head>
     
<body bgcolor="#ffffff">
     
<html:form action="/insertAction.do">
       
<html:hidden property="page" value="2"/>
       city:
<html:text property="city"/>
      
<html:submit>submit
     
</html:submit>
    
</html:form>
    
</body>
    
</html>

 

为两个页面建立共同的ActionForm,注意,scope要为session

 

public class InsertForm extends ActionForm ...{
    
private String name=null;
    
private String password=null;
    
private String city=null;
    
private String page=null;
    
public ActionErrors validate(ActionMapping actionMapping,
                                 HttpServletRequest  
                                 httpServletRequest) 
...{

        ActionErrors errors
=new ActionErrors();
        
int numpage=0;
        
try ...{
            numpage
=new Integer(page).intValue();
        }
 catch (Exception ex) ...{          
        }

        
if(numpage==1)...{
            
if((name==null)||(name.length()<1))...{
                errors.add(
"name",new ActionMessage("123"));
            }

            
if((password==null)||(password.length()<1))...{
                errors.add(
"password",new ActionMessage("123"));
            }

        }

        
if(numpage==2)...{
           
if((city==null)||(city.length()<1))...{
               errors.add(
"city",new ActionMessage("123"));
           }

       }

       
return errors;
    }

    
public void reset(ActionMapping actionMapping,
                      HttpServletRequest servletRequest) 
...{
        
int numpage=0;
        
try ...{
            numpage
=new Integer(servletRequest.getParameter
                   (
"page")).intValue();
        }
 catch (Exception ex) ...{  
        }

        
if(numpage==1)...{
            name
=null;
            password
=null;
        }

        
if(numpage==2)...{
            city
=null;
        }

    }

    
public String getCity() ...{
        
return city;
    }

    
public String getName() ...{
        
return name;
    }

    
public String getPage() ...{
        
return page;
    }

    
public String getPassword() ...{
        
return password;
    }

    
public void setPassword(String password) ...{
        
this.password = password;
    }

    
public void setPage(String page) ...{
        
this.page = page;
    }

    
public void setName(String name) ...{
        
this.name = name;
    }

    
public void setCity(String city) ...{
        
this.city = city;
    }

}


以上是两个html表单都对应I"nsertForm,在创建InsertForm时有以下几点需要注意
(1)提供html表单的隐藏字段page对应的page属性
(2)在reset方法中,只把和当前正在处理的表单相关的属性恢复为默认值
(3)在validate中,仅对和当前表单相关的属性进行验证
Struts-config.xml内容
<struts-config>
  
<form-beans>
    
<form-bean name="insertForm" type="untitled2.InsertForm" />
  
</form-beans>
  
<action-mappings>
    
<action input="/jsp1.jsp" name="insertForm" 
       parameter
="/jsp2.jsp" path="/insertAction" 
       scope
="session" 
       type
="org.apache.struts.actions.ForwardAction" 
       validate
="true" />
    
<action input="/jsp2.jsp" name="insertForm" 
       path
="/insertAction2" scope="session" 
       type
="untitled2.InsertAction2" validate="true" />
  
</action-mappings>
  
<message-resources parameter="ApplicationResources" />
</struts-config>

 

JSP1页面的action为/insertAction.do
JSP2页面的action为/insertAction2.do


分享到:
评论

相关推荐

    JSP程序设计课件包含Hibernate,Struts的介绍

    它是开源框架:Struts 是 Apache 软件基金会资助的一个为开发基于MVC模式的Web应用而设计的一个开源框架.Struts框架中的各种Web组件:它是利用Servlet、JavaBean和JSP、定制标签库等Web组件、XML等方面的技术来实现...

    Struts 四酷全书 shop jsp源码

    原有的 java 四酷全书自带源码,使用struts1编写,很多功能不能使用,或有诸多问题,使用学习上极其不方便; 现在这个上传的源码,我断断续续历时一个月将其完全改为struts2编写,增加了几个原来不具有的功能,配好...

    如何自定义Struts2表单验证后的错误信息显示格式_好资源0分送

    也可以使用validate框架进行验证,这个我觉得比Struts1.x方便了很多,但是有个问题一直困扰了我,直到现在有个小程序要用到这个方面的知识,那就是验证后如何很好地人性化地在jsp页面中显示了 说的通俗的一点就是...

    jQuery EasyUI与Struts2的整合—属性驱动篇

    但是你用模型驱动好吗,如果一个页面需要处理多个对象的时候怎么办。 如果你直接把属性写在action里面,当一个对象有20个属性的时候,你获取了属性还要set到对象里面去。20个属性,20个get/set方法。20行调用set方法...

    Struts2入门教程(全新完整版)

    4.分工合作include:指定多个配置文件 10 5.tomcat认证访问 10 6.初识拦截器 11 7.Action中的method属性 12 8.使用ForwardAction实现页面屏蔽。 13 8.使用default-Action配置统一访问 14 小结Action 14 9.使用通配符 ...

    深入浅出struts2

    为了达成这一目标,Struts2中提供了很多新特性,比如智能的默认设置、annotation的使用以及“惯例重于配置”原则的应用,而这一切都大大减少了XML配置。Struts2中的Action都是POJO,这一方面增强了Action本身的可...

    struts2.1宝典

    12.一个Action处理多个业务 method 35 13.使用校验模板校验 35 14.校验模板 35 15.文件上传 36 Struts2 UI tabbed pane tab pane datetime tree 37 SSH Struts+Spring+Hibernate整合 38 创建WEB工程 39 添加Struts...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...

    struts2 标签库 帮助文档

    optgroup标签:生成一个下拉列表框的选择组,下拉列表框中可以包含多个选择组。 token标签:防用户多次提交表单。 textarea标签:文本域。 updownselct标签:支持选项内容的上下移动。 password表单:密码表单域...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...

    struts自我学习过程程序以及说明

    还有自我总结资料,放到下一个文件夹当中上传,这里压缩只有这么多了,希望能去下载,那个全部是文档。 国际化: Locales.java globalMessage_en_US.properties globalMessage_zh_CN.properties struts.properties ...

    专家门诊-JSP开发答疑200问

    本书精选了230多个实用性很强的问题和常用需求,旨在帮助读者解决在JSP应用程序开发中经常遇到的实际问题,提高程序开发效率。本书内容涵盖了搭建开发环境、JSP基础知识、JavaBean高级应用、JSP高级组件、表单验证、...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...

    Struts原理、开发及项目实施

    Struts原理、开发及项目实施 Holen 2002-9-12 &lt;br/&gt;1、 摘要 2、 关键词 3、 Framework 4、 Struts的起源 5、 Struts工作原理 6、 Struts安装 7、 一个实例 8、 Struts优缺点...

    JSP开发答疑200问配套附书光盘(ISO)

    精选了230多个实用性很强的问题和常用需求,旨在帮助读者解决在JSP应用程序开发中经常遇到的实际问题,提高程序开发效率。内容涵盖了搭建开发环境、JSP基础知识、JavaBean高级应用、JSP高级组件、表单验证、文件处理...

    深入浅出Struts2(附源码)

    12.5 上传多个文件示例 227 12.6 小结 230 第13章文件的下载 231 13.1 文件下载概述 231 13.2 Stream结果类型 232 13.3 文件下载功能的编程实现 235 13.4 小结 238 第14章提高Struts应用程序的安全性 239 ...

    JSP开发答疑200问配套附书光盘(ISO)(二)

    精选了230多个实用性很强的问题和常用需求,旨在帮助读者解决在JSP应用程序开发中经常遇到的实际问题,提高程序开发效率。内容涵盖了搭建开发环境、JSP基础知识、JavaBean高级应用、JSP高级组件、表单验证、文件处理...

    struts spring房产网站模板

    自定表单 - 可以开设自定义表单栏目,自定义表单字段,管理提交的反馈信息 房产类型设置 - 添加和管理房产类型,和住宅、商铺、办公、厂房、仓库等五种不同的用途进行匹配设置 房产区域设置 - 设置本地房产区域,供...

Global site tag (gtag.js) - Google Analytics