struts下如何让多个action类公用一个actionForm类

shiningsea 2003-10-11 05:05:56
struts下如何让多个action类公用一个actionForm类
我要在两个JSP页面上显示相同的数据,我把action类对应同一个actionForm类,不能正确显示,请指教。
其实就是一个显示页和一个修改页,显示数据一样。
...全文
184 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
软猫克鲁 2003-11-25
  • 打赏
  • 举报
回复
楼上不错。
youfly 2003-11-25
  • 打赏
  • 举报
回复
恐怖的建议。将scope设为session虽然能解决问题,但会造成session垃圾。
但如果这些共享的数据数据跨越多个用户从页面发出的请求,好像session也是好办法。否则不要通过session传递数据。而是放在request里,然后通过redirect=false来共享数据。
孬毛毛 2003-11-25
  • 打赏
  • 举报
回复
顶一下,顺便问一下我这个问题:
http://expert.csdn.net/Expert/topic/2493/2493924.xml?temp=.7183039

跟本问题十分相关~~~

能具体说一下DispatcherAction的用法吗??
whyxx 2003-10-28
  • 打赏
  • 举报
回复
共享form很简单,在struts-config.xml里把两个action配成一个form就行了,form设成session级别的,值不会改变
treeClimber 2003-10-28
  • 打赏
  • 举报
回复
众多高手对struts理解很透啊。
不过我的做法就是不设置name(即没有ActionForm),需要参数我自己去取,自己写了一个方法从request中取得一个Object。
xcpxie011 2003-10-28
  • 打赏
  • 举报
回复
inode(zou ning yong)的方法是对的,scope属性设为session或request
给你我的配置:

<form-beans>

<form-bean name="GetBoxActionForm" type="wo.yao.chuang.ye.syasyu.web.form.GetBoxActionForm"/>
<!-- Example logon form bean
<form-bean name="logonForm" type="org.apache.struts.example.LogonForm"/>
-->

</form-beans>



<action-mappings>
<action path="/getBoxAction"
type="wo.yao.chuang.ye.syasyu.web.action.getBoxAction"
name="GetBoxActionForm"
scope="session"
input="/jsp/result.jsp">
<forward name="success" path="/jsp/2.jsp"/>

</action>


<action path="/booktBoxAction"
type="wo.yao.chuang.ye.syasyu.web.action.booktBoxAction"
name="GetBoxActionForm"
scope="session"
input="/jsp/result.jsp">
<forward name="success" path="/jsp/boxget.jsp"/>

</action>
<!-- Example logon action
<action path="/logon"
type="org.apache.struts.example.LogonAction"
name="logonForm"
scope="request"
input="/logon.jsp">
</action>
-->



<!-- Example logoff action
<action path="/logoff" type="org.apache.struts.example.LogoffAction">
<forward name="success" path="/index.jsp"/>
</action>
-->


<!-- The standard administrative actions available with Struts -->
<!-- These would be either omitted or protected by security -->
<!-- in a real application deployment -->
<action path="/admin/addFormBean"
type="org.apache.struts.actions.AddFormBeanAction"/>
<action path="/admin/addForward"
type="org.apache.struts.actions.AddForwardAction"/>
<action path="/admin/addMapping"
type="org.apache.struts.actions.AddMappingAction"/>
<action path="/admin/reload"
type="org.apache.struts.actions.ReloadAction"/>
<action path="/admin/removeFormBean"
type="org.apache.struts.actions.RemoveFormBeanAction"/>
<action path="/admin/removeForward"
type="org.apache.struts.actions.RemoveForwardAction"/>
<action path="/admin/removeMapping"
type="org.apache.struts.actions.RemoveMappingAction"/>

</action-mappings>
软猫克鲁 2003-10-20
  • 打赏
  • 举报
回复
To icecloud(冰云) :
你是说把两个页面的处理都放到DispatcherAction中去做么?
swanmarx 2003-10-19
  • 打赏
  • 举报
回复
对,用DispatcherAction比较好
icecloud 2003-10-19
  • 打赏
  • 举报
回复
你这种情况最好是用DispatcherAction而不是Action
mem_fox 2003-10-19
  • 打赏
  • 举报
回复
在不同的action调用form对象是,会先调用form.reset方法。你如果需要借用From对象传递参数,最好看看reset方法是否把所有的属性回复默认值了。
newmember 2003-10-19
  • 打赏
  • 举报
回复
应该可以,我当时是把scope属性设为默认值session
shiningsea 2003-10-19
  • 打赏
  • 举报
回复
不会把,好像不行
inode 2003-10-11
  • 打赏
  • 举报
回复
以下是我从我做的一个项目中的配置文件中节选下来代码片断:
我在注册和修改用户消息时都是用的userForm的actionForm。
如果你还有什么问题可以直接跟我联系zny_1@sina.com.cn
你出错恐怕是哪里配置得不对哦!
<!-- 用户管理类的映射 -->
<action path="/registerUser"
type="cbns.action.UserAction"
input="/newUser.jsp"
name="userForm"
scope="request"
validate="true">
<forward name="success" path="/confirm.jsp"/>
</action>

<action path="/updateUser"
type="cbns.action.UserAction"
input="/editUser.jsp"
name="userForm"
scope="request"
validate="true">
<forward name="success" path="/confirm.jsp"/>
</action>

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧