关于struts2中action传到参数问题

第一种方式:
<action name="adminEnterpriceculturesave" class="adminEnterpriceculturesaveAction" method="save">
          <result name="success" type="redirectAction">/admin/adminEnterpriceculturelist.action?enterpriceculture.enterpricetype=A</result>
尽管不好看格式,但是却很容易懂.
第一种方式的/admin不是命名空间,暂时我还没时间去实践他,现在有点忙..因为我的命名空间是这样的

<struts>

    <package name="enterpriceculture" namespace="/" extends="struts-default">  
        <action name="adminEnterpriceculturesave" class="adminEnterpriceculturesaveAction" method="save">
          <result name="success" type="redirectAction">/admin/adminEnterpriceculturelist.action?enterpriceculture.enterpricetype=A</result>
          <!-- <param name="enterpriceculture.enterpricetype">A</param>
          <result name="success" type="chain">
             <param name="actionName">adminEnterpriceculturelist</param>
             <param name="namespace">/</param>
          </result>-->
      <!-- <result name="success">/admin/Enterpriceculture_List.jsp</result>-->
      </action>

</package>
</struts>
第二种方式:
<param name="enterpriceculture.enterpricetype">A</param>
          <result name="success" type="chain">
             <param name="actionName">adminEnterpriceculturelist</param>
             <param name="namespace">/</param>
          </result>
去掉命名空间因为是在本文件的这个adminEnterpriceculturelist进行跳转,所以理解起来容易很多..


综合找到网上有关资料:如下:
chain类型 如下:

   <action name="getTemplate" class="tabAction" method="getTemplateByParas">
         <param name="objectId">${objectId}</param>
        <param name="param1">${param1}</param>
        <param name="items">${items}</param>
       
        <result name="success" type="chain">
         <param name="actionName">${actionName}</param>
         <param name="namespace">${namespace}</param>
        </result>
        
  </action>

       这样就可以实现传参了,这里的参数所有对象都可以传,包括map,List,set 等集合也可以。同时这里还需要注意一个小问题,chain这种类型是XWork中的result类型,它对应的类是:
       com.opensymphony.xwork2.ActionChainResult .   这里需要注意一个小问题, actionName,namespace都是他的属性,所以对于传过的URL参数要做一下处理。
       actionName必须是Action的名称,namespace是他命名空间,必须以"/"开头,如:
       /tab/getTemplate.action       则 namespace="/tab"   ;  actionName=”getTemplate“; 

posted on 2012-11-22 21:26 youngturk 阅读(482) 评论(0)  编辑  收藏 所属分类: 个人随笔总结新认识笔记struts2spring学习


只有注册用户登录后才能发表评论。


网站导航:
 
<2012年11月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

导航

统计

公告

this year :
1 jQuery
2 freemarker
3 框架结构
4 口语英语

常用链接

留言簿(6)

随笔分类

随笔档案

文章分类

文章档案

相册

EJB学习

Flex学习

learn English

oracle

spring MVC web service

SQL

Struts

生活保健

解析文件

搜索

最新评论

阅读排行榜

评论排行榜