struts2配置文件中动态参数
2011-09-20 22:09
375 查看
在Action中我们经常会从这个Action跳转到另一个Action中,如果只是简单的跳转那么很容易,只需在struts配置文件中添加一个result,如:<result name="index">/manager/managerInfo/account.jsp</result>。
result有一个type属性,这里的type默认是dispatcher,还有redirect、redirect-action、chain。
dispatcher这种情况下action之间是不能发送请求的,这时我们就要用到其它三种类型,
当要请求一个action时,可设定type的值为以上三个中的一个(他们的区别请参见blog.sina.com.cn/s/blog_56b7aaa10100eqs4.html),如:<result
name="reload" type="redirectAction" >/manager/managerInfo/account.action</result>.
如果想在请求的过程中添加参数可以像超链接传值一样在最后用"xx?xx=xx"的形式来传递参数.如:<result name="reload" type="redirectAction">/manager/ managerInfo/account.action?参数名=参数值</result>。
如果这里的参数值不是一个固定值可以用"${参数值}"这种形式,需要注意的是这里的"参数值"在相应的Action中一定要提供get/set方法,否则将无法获得参数值,当然这里也同样可以取一个对象的某个属性值即:${对象名.属性名},假如我想取得一个帐户的帐号:<result name="reload" type="redirectAction" >/manager/managerInfo/account.action?account.accountNO=${account.accountNO}</result>.
如果想传递多个参数用"&"符号来连接吗?NO,因为用"&"会在XML语法检查中报错,所以将"&"用"&"来替换就行了!如:<result name="reload" type="redirectAction" >/manager/managerInfo/account.action?account.accountNO=${account.accountNO}&account.balance=${account.balance}</result>.
注:当使用type="redirectAction"时,result中的.action(上面红色标注的地方)可要可不要,但是当你要传递参数里,而且参数中含有中文字符时一定不要加.action,否则你的参数值是无法传递的.
result有一个type属性,这里的type默认是dispatcher,还有redirect、redirect-action、chain。
dispatcher这种情况下action之间是不能发送请求的,这时我们就要用到其它三种类型,
当要请求一个action时,可设定type的值为以上三个中的一个(他们的区别请参见blog.sina.com.cn/s/blog_56b7aaa10100eqs4.html),如:<result
name="reload" type="redirectAction" >/manager/managerInfo/account.action</result>.
如果想在请求的过程中添加参数可以像超链接传值一样在最后用"xx?xx=xx"的形式来传递参数.如:<result name="reload" type="redirectAction">/manager/ managerInfo/account.action?参数名=参数值</result>。
如果这里的参数值不是一个固定值可以用"${参数值}"这种形式,需要注意的是这里的"参数值"在相应的Action中一定要提供get/set方法,否则将无法获得参数值,当然这里也同样可以取一个对象的某个属性值即:${对象名.属性名},假如我想取得一个帐户的帐号:<result name="reload" type="redirectAction" >/manager/managerInfo/account.action?account.accountNO=${account.accountNO}</result>.
如果想传递多个参数用"&"符号来连接吗?NO,因为用"&"会在XML语法检查中报错,所以将"&"用"&"来替换就行了!如:<result name="reload" type="redirectAction" >/manager/managerInfo/account.action?account.accountNO=${account.accountNO}&account.balance=${account.balance}</result>.
注:当使用type="redirectAction"时,result中的.action(上面红色标注的地方)可要可不要,但是当你要传递参数里,而且参数中含有中文字符时一定不要加.action,否则你的参数值是无法传递的.
相关文章推荐
- struts2中的多个配置文件的配置和动态请求方法
- struts2 配置文件 重定向 redirect (带参数) 的写法
- ini文件动态配置程序参数
- Struts2 两个Action 动态传参数,在struts.xml中配置
- Struts2配置文件中传递参数的一个小问题
- struts2的配置文件的参数注入原理
- Struts2的配置文件中配置result时传中文参数的问题
- Struts2学习---基本配置,action,动态方法调用,action接收参数
- Struts2为应用指定多个配置文件和动态方法调用以及通配符的使用方法
- struts2配置文件传输多个参数
- struts2配置文件中参数的传递
- struts2配置文件传参数的问题
- 修改Struts2的struts.xml配置文件位置和名称-重点是init-param参数用来切换加载的路径
- struts2配置文件中url传递参数中文乱码处理
- struts2通过配置文件实现动态调用action
- Struts2学习---基本配置,action,动态方法调用,action接收参数
- Struts2学习(三)【主配置文件配置_常量配置_动态方法配置_action书写方式】
- Struts2配置文件中redirect传递中文参数乱码的解决办法!
- struts2配置文件中参数的传递
- struts2配置文件中url传递参数中文乱码处理