Struts2动作类型json从Action类中调用所有函数

时间:2012-02-02 05:44:19

标签: json struts2

我已经像这样使用了Struts2 json

<package name="showcase" extends="json-default" >  

    <action name="DashBoardActivityJson" class="com.myDrDirect.doctor.action.patientOrderDetails" method="getRecentOrderDetails" >
       <result name="success" type="json" />
    </action>               
 </package>

但在这里,我的问题有点疯狂。当我访问类中的一个函数时,它会调用页面中的每个函数,即使我在这里提到了方法名称。那是当我设置type="json"来自班级的getRecentOrderDetailsgetUserDetailses的动作调用时  com.myDrDirect.doctor.action.patientOrderDetails但在这里我只调用getRecentOrderDetails。以前有人觉得这个问题,请帮忙。

3 个答案:

答案 0 :(得分:3)

我相信JSON插件试图调用以名称"get"开头的每个方法来序列化输出。 一种方法是将方法重命名为其他一些通用的方法来处理this.else你可以包含和排除参数。有关详细信息,请参阅插件文档

json-plugin

答案 1 :(得分:1)

struts2-json-plugin序列化您的操作,因此您描述的是预期的行为。为了解决这个问题,插件提供了include和exclude参数,这些参数修改了序列化,以便将对象修剪成你想要的形式。

在这个问题中有一个很好的例子: Struts2 + Json Serialization of items 这是另一个 Problem with Json plugin in Struts 2

请参阅struts2网站上的插件文档:http://struts.apache.org/2.2.3/docs/json-plugin.html这将解释如何使用xml或注释。

答案 2 :(得分:0)

当我在单独的文件中编写动作时,我得到了正确的答案。比你们帮助解决这个问题。