我已经像这样使用了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"
来自班级的getRecentOrderDetails
和getUserDetailses
的动作调用时
com.myDrDirect.doctor.action.patientOrderDetails
但在这里我只调用getRecentOrderDetails。以前有人觉得这个问题,请帮忙。
答案 0 :(得分:3)
我相信JSON插件试图调用以名称"get"
开头的每个方法来序列化输出。
一种方法是将方法重命名为其他一些通用的方法来处理this.else你可以包含和排除参数。有关详细信息,请参阅插件文档
答案 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)
当我在单独的文件中编写动作时,我得到了正确的答案。比你们帮助解决这个问题。