您的位置:首页 > 编程语言 > Java开发

Struts2 Action处理

2016-04-12 09:37 525 查看
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中进行输出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: