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

Java 我们可以在struts-2中设置两种结果类型吗?,java,json,jquery,struts2,tiles,Java,Json,Jquery,Struts2,Tiles,我有一个应用程序,我在其中使用tiles,但我也在使用ajax请求来获取类型为json的响应,并希望通过tiles显示它。我可以在struts.xml中设置这两种结果类型吗 我试过了,但失败了 <action name="*CampData" method="{1}" class="com.contaque.monitor.CampAction"> <result name="get" type="tiles+json">getCampData</r

我有一个应用程序,我在其中使用tiles,但我也在使用ajax请求来获取类型为json的响应,并希望通过tiles显示它。我可以在struts.xml中设置这两种结果类型吗

我试过了,但失败了

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

getCampData

有什么解决办法吗?

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

希望对你有帮助


Thnaks.

据我所知,无法同时返回多个对象。浏览器只需要一件事,一旦所有的tiles都完成了,JSON或HTML

我可以想出两种方法来实现这一点:双请求(每个结果类型一个)或使用一个生成另一个(获取JSON并使用JavaScript在客户机上构建HTML)

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


为Tiles+JSON创建一个新的结果类型并使用它。。。您不能在一个结果标记中定义两种结果类型

我遇到了同样的问题。我最后的回答是:你不需要它。您必须定义两个不同的结果,一个带有“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. -->

getCampData

先生,当您要使用ajax实现时,不需要使用result type=“tiles”,仅当您需要打开另一个页面或希望在另一个.jsp页面上显示结果时,才使用“tiles”结果类型!希望您能理解我的意思

有一个答案“为Tiles+JSON创建一个新的结果类型并使用它…”,我该怎么做?我也不知道。。我想这是在告诉我们定制结果类型:p