2012-02-02 50 views
1

的功能我用Struts2的JSON这样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和​​从类 com.myDrDirect.doctor.action.patientOrderDetails但这里我只调用getRecentOrderDetails。有没有人觉得这个问题之前,请帮助。

回答

3

我相信JSON插件试图调用每个方法的名字"get"以序列化输出。 一种方法是方法重命名为其他一些通用的方法来处理this.else可以包括和不包括parameters.Refer到插件文件的详细信息

json-plugin

+0

是的你是对的。但是我做了我项目的主要部分,并且有很多以get开头的函数。任何关于我如何管理它的想法? – user359187 2012-02-02 09:20:55

+0

@ user359187走什么'Quaternion'已经建议 – 2012-02-02 09:25:19

+0

您好,我与exludeProperties,includeProperties,enableSMD和excludeNullProperties混淆。我已经添加了一个问题,请检查http://stackoverflow.com/questions/9115264/how-to-the-excludeproperties-working-in-struts2 – user359187 2012-02-02 15:48:12

1

Struts2的JSON的,插件的序列化行动,因为你所描述的是预期的行为。为了解决这个问题,插件提供了包含和排除参数,这些参数修改了序列化,从而将对象修剪成您想要的形式。

在这个问题上有一个很好的例子: 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或注解。

+0

感谢Quaternion,但它没有解决我的问题。以上所有链接解释了如何解决使用注释时遇到的问题,但不幸的是,我没有在我的项目中使用struts annotaion标签。我也检查了链接struts.apache.org/2.2.3/docs/json-plugin.html,也试过这个,但它没有解决我的问题。当我在我的动作中引用type =“action”时,它仍然会调用我项目中的所有函数。你能否为我提出另一个解决方案?这对我来说真的很有用 – user359187 2012-02-05 18:46:07

+1

为什么不给注释一个镜头?只要尝试与他们JSON行动,并且如果它不做预期发布它在这里。使用struts2 xml,您需要查看xml文件和操作以查看注释发生了什么,您只需要操作即可。只有收益,没有损失,特别是使用struts2-conventions-plugin时。 – Quaternion 2012-02-06 19:40:15

+0

但是我已经在不使用struts注释的情况下使用了我的项目的一半部分。我可以整合从这个阶段? – user359187 2012-02-07 06:40:56

0

当我在一个单独的文件中写入动作时,我知道它是正确的。比你们帮助解决问题。