我们可以在struts-2中设置两个结果类型吗?

时间:2014-01-09 06:07:01

标签: java json jquery struts2 tiles

我有一个应用程序,我正在使用磁贴,但我也使用ajax请求来获取 json 类型的响应,并希望通过 瓦片 即可。我可以在struts.xml中设置两个结果类型。

我试过这个却失败了......

<action name="*CampData" method="{1}" class="com.contaque.monitor.CampAction">
        <result name="get" type="tiles+json">getCampData</result>
    </action>

有没有解决方案?

4 个答案:

答案 0 :(得分:0)

我认为这是不可能的。请通过以下链接获取更多信息。

Multiple result types in Struts2?

希望它能帮到你。

Thnaks。

答案 1 :(得分:0)

据我所知,没有办法同时归还多件事。浏览器只需要一件事,一旦完成所有瓷砖的东西,就要使用JSON或HTML。

我可以想到两种方法:双重请求(每个结果类型一个)或使用一个生成另一个(获取JSON并使用JavaScript在客户端上构建HTML)。

你想要完成什么,你需要两个结果?

为Tiles + JSON&amp;创建新的结果类型使用它...你不能在结果标签中定义2种结果类型

答案 2 :(得分:0)

我遇到了同样的问题。我的最终答案是:你不需要它。您必须定义两个不同的结果,一个带有“tiles”,另一个带有“json”。 在我的例子中,问题出现在使用jTable。 你需要这样的东西:

<action name="seeCampDataGrid">
    <result name="get" type="tiles">getCampData</result>
</action> <!-- this load the jsp, probably with no data -->
<action name="*CampData" method="{1}" class="com.contaque.monitor.CampAction">
    <result name="get" type="json" />
</action> <!-- this will load data within the jsp. No jsp is needed. -->

答案 3 :(得分:0)

先生。当你打算使用ajax实现时,你不需要使用result type =“tiles”,只有当你需要打开另一个页面或者想要在另一个.jsp页面上显示结果时才使用“tiles”结果类型!希望你能理解我在说什么