struts2 result param 跳转的时候携带参数的方法



在struts.xml配置文件中遇到了param,有点迷糊,上网查了查……似乎明白些了
${tplPath}

/jeecmsLoginFrameInput

这里的action 是Log,他包含了登陆和退出,当系统在登录的时候就直接返回${tplPath}就可以了;在退出的时候需要返回到登陆页面,所以退出的时候是转发到 action的,转发到action肯定要告诉系统转发到那个action,该action的namespace是什么,名字是什么,就是通过param 该属性老告知struts2的;当然param还有其他用法,不过一般就用这个就差不多了,综上得出:

param标签主要用于为其他标签提供参数,例如bean和include标签。
param参数设置:
name:可选属性,指定设置参数名称
value:可选属性,指定参数的值
id:可选属性,指定该元素引用id

看到这,野猪似乎感觉清楚了许多,嘿嘿……

下面还搜到了一些信息,等野猪不是很清楚的时候再看看吧……

chain
用来处理Action链,被跳转的action中仍能获取上个页面的值,如request信息。
com.opensymphony.xwork2.ActionChainResult
dispatcher
用来转向页面,通常处理JSP
org.apache.struts2.dispatcher.ServletDispatcherResult
freemaker
处理FreeMarker模板
org.apache.struts2.views.freemarker.FreemarkerResult
httpheader
控制特殊HTTP行为的结果类型
org.apache.struts2.dispatcher.HttpHeaderResult
stream
向浏览器发送InputSream对象,通常用来处理文件下载,还可用于返回AJAX数据
org.apache.struts2.dispatcher.StreamResult
velocity
处理Velocity模板
org.apache.struts2.dispatcher.VelocityResult
xslt
处理XML/XLST模板
org.apache.struts2.views.xslt.XSLTResult
plainText
显示原始文件内容,例如文件源代码
org.apache.struts2.dispatcher.PlainTextResult
plaintext
显示原始文件内容,例如文件源代码
org.apache.struts2.dispatcher.PlainTextResult
redirect
重定向到一个URL ,被跳转的页面中丢失传递的信息,如request
org.apache.struts2.dispatcher.ServletRedirectResult
redirectAction
重定向到一个Action ,跳转的页面中丢失传递的信息,如request
org.apache.struts2.dispatcher.ServletActionRedirectResult
redirect-action
重定向到一个Action ,跳转的页面中丢失传递的信息,如request
org.apache.struts2.dispatcher.ServletActionRedirectResult
注:redirect与redirect-action区别

一、使用redirect需要后缀名 使用redirect-action不需要后缀名
二、type=”redirect” 的值可以转到其它命名空间下的action,而redirect-action只能转到同一命名空下的 action,因此它可以省略.action的后缀直接写action的名称。
如:

viewTask.action
viewTask

附:redirect-action 传递参数

1.
2.
3. showpreinfo?preinfo.order_number=${preinfo.order_number}&preinfo.company_name=${preinfo.company_name}
4.
5.
6./error.jsp 7.
8.

因为使用了redirect-action,所以要注意不能将 showpreinf?preinfo.order_number=${preinfo.order_number}写成 showpreinf.action?preinfo.order_number=${preinfo.order_number}

其中${}为EL表达式,获取action:enterpreinfo中属性的值;在这个配置文件里,多个参数的连接符使用了”&”,但XML的语法规范,应该使用”&”代替”&”,原理和HTML中的转义相同,开始没有注意,在struts分析配置文件时,总是报出这样的错误:
json 一般很容易忽略的一个地方(在EXT中非常有用)
示例
view plaincopy to clipboardprint?

01. 02.
03.
04.success,result 05.
06.
07.
08. /index.jsp
09.
10.

view plaincopy to clipboardprint?

01.private boolean success = true;
02.private String result = “main.action”;
03.//getter和setter方法略

以上的success和result互相对应到了
view plaincopy to clipboardprint?

01.success,result

struts2会根据其设置的值匹配跳转
对于json一般情况下很少用到,但是在处理ext的时候会用到这个属性类型,这个地方也是经常被忽略的。

最后感觉还是应该查一下文档给野猪看看,嘿嘿:

Redirect Action Result
•actionName (default) – the name of the action that will be redirect to
•namespace – used to determine which namespace the action is in that we’re redirecting to . If namespace is null, this defaults to the current namespace

dashboard/secure

dashboard.jsp
error
error.jsp

generateReport/genReportpie100100
Redirect Result
•location (default) – the location to go to after execution.
•parse – true by default. If set to false, the location param will not be parsed for Ognl expressions.

foo.jspfalse


generateReport.jsp/genReportpie100100
这下感觉怎么样了?野猪!多看看文档!

最后,又看了一眼result的默认参数:
/ThankYou.jsp

呵呵……这还比较满意!吃饭去!野猪!

分享至
.
一键收藏,随时查看,分享好友!

zbczbczbc
1人
了这篇文章

类别:java┆阅读(25518)┆评论(3) ┆ 返回博主首页┆返回博客首页

上一篇 tomcat重启时出现:严重: Error filterStart 下一篇 html dom frame Iframe一个应用的小例子

文章评论

[1楼] zbczbczbc 回复

2011-03-06 21:35:34

redirectAction和redirect的区别:还有一点,如果result的目标是一个JSP页面,那么只能用redirect,这样起到重定向的作用,目标页面里不会访问到上一个action里的变量

[2楼] [匿名]huangsky 回复

2012-04-12 12:13:27

请问博主
这个是什么意思,actionName 和 namespace 和 location都配置的话是什么效果

[3楼] [匿名]51CTO游客 回复

2012-10-25 15:25:18

dddsdfsdf

发表评论
【充电必备】IT职业路线图,学习更轻松,思路更清晰!

昵 称:
登录 快速注册
验证码:
请点击后输入验证码
博客过2级,无需填写验证码
内 容:

每日博报 精彩不止一点关闭

开源跳板机部署

Hadoop集群故障分析和性能调优
全球首发Unity5 新特性_完整版
利用linux远程登录windows计算机
Windows Docker原理的大胆猜测
Python高级编程视频教程

返回顶部

Co

http://yin123.blog.51cto.com/882581/384199/