Struts2 Action处理

Struts2 Action处理

一、redirectAction Result

用于将请求重定向给另外一个Action。在MVC设计模式下,我们
应该把每次请求都发送给控制器,即Action。因此重定向时是
发送一次新的请求,那么也应该把这次请求发送给Action,避
免出现直接把请求发送给JSP的情况。

语法1

<result name=”login” type=”redirectAction”>
 <param name=”namespace”>/命名空间</param>
 <param name=”actionName”>action名</param>
 <param name=”method”>方法名</param>
</result>

redirectAction,引用struts-default.xml中定义的result的名称。
namespace,告诉result要重定向的包的命名空间。
actionName,告诉result要重定向的action名称。
method,告诉result要调用目标Action哪个方法。

语法2

*如果重定向的Action与当前的Action在同一个namespace下,那么可以省略namespace的参数设置
*如果调用的是目标Action的execute方法,那么也可以省略method的参数设置。
*只需要配置actionName时,可以进一步优化:

<result name=”login” type=”redirectAction”>
  <param name=”actionName”>action名</param>
</result>

二、json Result
json Result用于向页面输出json格式的数据。它可以将json字符串输出到请求发起的位置。具体来说,是可以将Action中指定的属性做成json字符串输出。

这种result常被用于异步请求的情况,原因是异步请求由JS发起,并通过其回调函数接收服务端返回的结果。那么对于JS而言,我们返回Java对象它无法识别,返回json字符串就再合适不过了。

语法1
 <result name="success” type=”json”>
    <param name=”root”>属性名</param>
 </result>

 这种方式,可以将Action中的一个属性做成json输出,其中

 type=”json”引用的是第三方包中定义的result类型名。
 name=”root”是result标签中属性,root是固定写法
 属性名,Action内的属性

*如果配置的属性是基本类型的,则result会直接将结果输出给页面。
*如果配置的属性是实体对象,result会将其做成json字符串输出给页面,
 格式如{“code”:’xmcy01’,”name”:’zs’}。

语法2

<result name="success” type=”json”>
    <param name=”includeProperties”>
		属性名1,属性名2,属性名3,…
    </param>
</result>

 这是另种方式,其中includeProperties是result标签中属性
 当中的属性名是Action中的,要看具体情况而定。
 result会将指定的这些属性做成一个json字符串输出给页面,
 格式如{“id”:49,“name”:“zs”,age:28}。

*建议掌握第一种即可,如果要输出多个数据,完全可以将这些数据封装于Map中进行输出。




































































  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值