CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2EE / EJB / JMS

如何实现struts的formBean

楼主luckboy1017(幸运之子)2006-02-09 10:24:56 在 Java / J2EE / EJB / JMS 提问

说form可以自动获得表单的提交内容怎么做到的  
   
   
  在没用struts以前是在jsp里生明一个bean,在jsp里把表单的直放进去,而struts就不用这样做  
   
  那struts是如何实现的,是  
    <action         path="/insert"  
                                type="strutsbook.actions.InsertAction"  
                                name="insertForm"  
                                scope="request"  
                                input="/insert.jsp">  
              <forward   name="success"   path="/insert.jsp"/>  
          </action>  
  这里来自动实现的吗?  
  问题点数:20、回复次数:6Top

1 楼lanvode(小小生)回复于 2006-02-09 11:28:52 得分 5

type="strutsbook.actions.InsertAction"  
  我不知道你的ActionForm是不是这个名字。这个type里写的是这个Action所对应的ActionForm的类,struts会根据这里的配置将页面中的数据收集到ActionForm里。Top

2 楼miaoliujun(傲龙)回复于 2006-02-09 11:39:29 得分 5

insertForm定义了吗?里面所有的property只要在form中有,那么你就可以用get来取出Top

3 楼luckboy1017(幸运之子)回复于 2006-02-09 12:36:11 得分 0

<form-bean             name="insertForm"  
                                          type="addressbook.forms.InsertForm"/>Top

4 楼zxy119(kuku)回复于 2006-02-15 18:37:49 得分 5

<action         path="/insert"  
                                type="strutsbook.actions.InsertAction"  
                                name="insertForm"  
                                scope="request"  
                                input="/insert.jsp">  
              <forward   name="success"   path="/insert.jsp"/>  
          </action>  
  这个只是一个配置...真正的流程是ActionServlet来完成的...  
  ActionServlet里面有许多的方法...先是通过doPost()或者doGet()接受request然后调用process()   方法....  
  Process()方法会生成一个当前的RequestProcesor类..这个类把你从request里面传来的数据整合到你在配置文件中定义的ActionForm中.......  
  具体的流程你可以去google上查查或者找书来看看Top

5 楼ad1227()回复于 2006-02-15 20:44:00 得分 5

看到过相关的一点资料,共享一下:  
   
  配置ActionServlet实例    
     
  application:应用程序资源包基类的java类名;  
     
  config:包含配置信息的XML资源的上下文相关路径;【/web-inf/action.xml】  
     
  debug:这个Servlet的调试级别,它控制记录多少信息到日志中;  
     
  digester:我们在initMapping()中利用的Digester的调试级别,它记录到System.out而不是Servlet的日志中;  
     
  forward:使用ActiongForward实现Java类名;  
     
  mapping:使用ActionMapping实现的Java类名;  
     
  nocache:如果设置为true,增加HTTP头信息到所有响应中,是浏览器对于说呢管程或者重定向到的任何响应不作缓冲;  
     
  null:如果设置为true,设置应用程序资源名,是的如果为止的消息关键字被使用则返回null,否则一个包括不欢迎的消息关键字的出错消息将被返回;    
  Top

6 楼ad1227()回复于 2006-02-15 20:45:50 得分 0

ActionForm   Beans    
     
  Struts框架通常假定已经为每一个应用程序中请求的输入创建了一个ActionForm   Bean(即一个实现了ActionForm接口的类)。如果您在ActionMapping配置文件中定义了这样的Beans,Struts的ControllerServlet在调用适当的Action方法前将自动执行如下服务:  
     
  1、用适当的关键字检查用户的Session中是否有适当的类的Beans的一个实例;  
     
  2、如果没有这样的Session范围的Beans,自动建立一个新的Beans并且添加到用户的Session中;  
     
  3、对每个名字对应于Bean中的一个属性的请求参数,调用相应的set方法。这个操作类似于以通配符“*”选择所有属性使用标准的JSP行为标记<jsp:setProperty>;  
     
  4、更新的ActionFormBean在被调用时将被传递给Action类的perform方法,以使这些值能够立即生效。  
     
  在写ActionFormBeans时应该记住一下的原则:  
     
  1、ActionForm接口本身不需要特殊的实现方法,它用来标志这些特定的Beans在整个体系结构中的作用。典型情况下,一个ActinoFormBean只包括属性的get方法和set方法,没有商业逻辑;  
     
  2、通常在一个ActionFormBean中只有很少的输入验证逻辑。这样的Beans存在的主要理由是保存用户为相关的表单所输入的大部分近期值--甚至在错误被检测到时--这样同样的页面可以被重建,伴随有一些错误信息,这样用户仅仅需要纠正错误字段,用户输入的验证应该在Action类中执行,或者在适当的商业逻辑Beans中执行;  
     
  3、在每个表单中出现的字段定义一个属性字段名和属性名必须按照JavaBeans的约定相匹配,例如一个名为Username的输入字段必须引起setUsername()方法被调用;  
     
  4、应该注意一个表单在这里讨论时的意义并不在于用户界面中的一个单独JSP页面,在很多应用程序中一个表单延伸到多个页面也是很平常的。例如,通常在安装新的应用程序时使用的导航安装程序的用户界面。Struts鼓励用户定义一个包含梭鱼字段属性的单独的ActionFormBean,不管字段实际上时显示在那个也卖弄,同样的,同一个表单的不同的页面应该提交到相同的Action类,按照上面的说法,那么在大多数情况下,页面设计者可以重新组织不同页面中的字段而不需要改变处理逻辑。  
     
  Top

相关问题

  • struts配合ajax如何使用formbean
  • struts嵌套如何实现啊
  • 如何用struts实现如下过程
  • Struts:如何实现行交替???
  • 在Struts中,如何实现多个struts-config.xml配置?
  • 使用struts框架如何实现[关闭]按钮?
  • 如何在一个struts action 中实现多个操作??
  • 高分求解,在struts中如何去实现修改功能!!!
  • 在Struts中如何实现图片提交按钮呢?
  • struts如何实现上传文件的重命名????

关键词

  • 字段
  • 页面
  • 属性
  • 应用程序
  • 逻辑
  • struts
  • jsp
  • 用户
  • 执行
  • 消息

得分解答快速导航

  • 帖主:luckboy1017
  • lanvode
  • miaoliujun
  • zxy119
  • ad1227

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo