关于在多个Action之间传递参数

来源:互联网 发布:找淘宝运营 编辑:程序博客网 时间:2024/06/06 20:48

转自:http://www.cnblogs.com/coolhwm/archive/2011/11/25/2263920.html


使用chain的方式会保留请求参数,这毫无疑问。

<action name="addCommentPro" class="addCommentAction">              <interceptor-ref name="authorityStack"/>         <result type="chain">viewCommentPro</result></action>


当使用redirectAction时,会发生重定向,参数会丢失,可以使用以下两种方式传递参数,两种方法下目标Action都必须有对应属性的getter,setter方法

param方式:

复制代码
<action name="addCommentPro" class="addCommentAction">            <interceptor-ref name="authorityStack"></interceptor-ref>            <result type="redirectAction">                <param name="actionName">viewCommentPro</param>                <param name="aid">${aid}</param>            </result></action>
复制代码

直接传递:

<action name="addCommentPro" class="addCommentAction">            <interceptor-ref name="authorityStack"></interceptor-ref>            <result type="redirectAction">viewCommentPro?aid=${aid}</result></action>

从上面看出,在struts.xml里调用OGNL表达式并不是使用%{}而是使用${},这和EL表达式在JSP页面中的用法一样。

 

顺便复习下Struts2中#,$和%的用法

  • 井号(#)主要用于访问OGNL的上下文,相当于ActionContext.getContext(),多用于访问request,session等内置对象。
复制代码
<s:iterator value="#request.articles" id="a" status="s">            <tr>                <td><s:property value="#s.index"/></td>                <td class="title"><s:property value="#a.title"/></td>                <td class="content"><s:property value="#a.content"/> </td>                <td class="username"><s:property value="#a.user.username"/></td>                <td><s:a action="deletePro?id=%{#a.id}">删除</s:a></td>            </tr>        </s:iterator>
复制代码
  • 百分号(%)主要用于在标志的属性为字符串类型时,计算OGNL表达式的值。
<td><s:a action="deletePro?id=%{#a.id}">删除</s:a></td>
<p><s:url value=”%{#foobar['foo1']}” /></p>

 

  • 美元符号($)主要用于在国际化资源文件或xml配置文件中使用OGNL表达式,例子如上Action间传值。

 

顺便再复习下,EL表达式语法${expression}

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 网上买票的时候不想用学生票怎么办 南方公园完整破碎讲话嘴不动怎么办 同一个安全员被锁在两个项目怎么办 家长拖欠家教老师的课时费怎么办 合同没到期房东不退押金怎么办 租房合同没到期房东要违约怎么办 档案存放费交了一年的延期怎么办 天津房子卖了户口没地方迁怎么办 中国到美国读计算机硕士签证怎么办 在江苏大学去德国读研怎么办? 宿舍上下铺的床一动就响怎么办 自助取款机存款忘打印了凭条怎么办 高一新生跨省转学籍怎么办 网上买票不小心买成了学生票怎么办 做横幅标语字打出来老是歪的怎么办 创业板股票暂停上市后钱怎么办 新股东入股公司之前的亏损怎么办 目前公司账面亏损有人要入股怎么办 土地确权后没有土地的人怎么办 老板不发工资跑路了怎么办 别人登录了我的美团账号怎么办 月嫂家政公司快坚持不下去了怎么办 华硕飞马4a手机发热怎么办 超级必发指数手机页面没曲线怎么办 唐小僧理财暴雷了投资者该怎么办 教师资格证面试准考证号忘了怎么办 初中学校说处分不给毕业证怎么办? 自动档一键打火的车没电了怎么办 物流代收货款一直拿不到钱怎么办 丰巢快递柜收不到验证码怎么办 拼多多三级惩罚下架3天怎么办 在万达买的衣服穿一次烂了怎么办 内蒙古对于没有地的农民改怎么办 微信号码重新注册后回零钱怎么办 安卓系统文件苹果手机打不开怎么办 课题必须发表论文吗?查重怎么办 学信网学籍绑定输错5次怎么办 大学学校图书馆借的书丢了怎么办 借阅机里的图书不显示书名怎么办 苹果6s锁屏密码忘了怎么办 父亲去世后妈将父亲存款带走怎么办