一个页面怎么请求两个action

 我来答
wjlvivid
推荐于2016-03-16 · TA获得超过2423个赞
知道小有建树答主
回答量:167
采纳率:0%
帮助的人:209万
展开全部
action的配置中,有一个为"redirectAction”(重定向到一个Action)和chain(就是所谓的action请求链)的action类型
举个简单的例子:在请求完增加一条新闻信息之后,想直接跳转到查询列出所有新闻的action
增加的action
<action name="addNews" class="com.web.action.AddNewsAction">
<!--在AddNewsAction中直接请求查询Action-->
<result name="success" type="chain"> listNews </result>
<result name="input">addNews.jsp</result>
</action>

查询的action
<action name="listNews" class="com.web.action.ListNewsAction">
<result name="success" type="dispatcher">
<param name="location">news.jsp</param>
</result>
</action>
在增加完一条新闻信息以后,重新查询一遍新闻,但是如果查询里需要一些参数
那么要传递的参数在第一个action有getter和setter,在第2个action也要有才能正常传递,否则参数不能传递到第2个action中去

顺便说一下struts2的action type:
chain 用来处理Action链
dispatcher 用来转向页面,通常处理JSP
redirect 重定向到一个URL
redirectAction(或redirect-action) 重定向到一个Action

redirect:重定向,新页面无法显示Action中的数据,因为底层调用response.sendRedirect("...")方法,无法共享请求范围内的数据,参数与dispatcher用法相同;
chain:将action的带着原来的状态请求转发到新的action,两个action共享一个ActionContext,actionName指定转向的新的Action的名字,method指定转向哪个方法,namespace指定新的Action的名称空间,不写表示与原Action在相同的名称空间
redirect-action:重定向到另一个Action,参数与chain用法相同,允许将原Action中的属性指定新名称带入新Action 中,可以在Result标签中添加 <param name=”b”>${a} </param>,这表示原Action中的变量a的值被转给b,下一个Action可以在值栈中使用b来操作,注意如果值是中文,需要做一些编码处理,因为Tomcat默认是不支持URL直接传递中文的!
楼主,明白了吧,如果还不明白上网查资料!!·
tiesiart
2011-04-02 · TA获得超过408个赞
知道小有建树答主
回答量:300
采纳率:0%
帮助的人:363万
展开全部
用ajax啊,比如jQuery的$.get或$.post很简单
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式