jquery - 使用内容 JON Struts2 Jquery插件重新加载一个 Div

  显示原文与译文双语对照的内容

我需要用对象JSON的一部分重新加载一个div的内容。 代码 below 做得很好,但是得到的div得到了所有JSON对象和 {} 。 我需要的内容只显示一个变量。


<s:url id="ajax1" value="ajax1.action"/>
<sj:div id="div1" 
 href="%{ajax1}" 
 reloadTopics="reloaddiv1">
</sj:div>
<sj:a 
 id="refreshlink" 
 onClickTopics="refreshdiv" 
 button="true">Refresh Div
</sj:a>

JavaScript:


 <script type="text/javascript">
 $.subscribe('refreshdiv', function(event,data) {
 $.publish('reloaddiv1');
 });
 </script>

我的动作


<package name="default" extends="struts-default,json-default" namespace="/">
 <result-types>
 <result-type name="json" class="org.apache.struts2.json.JSONResult"/>
 </result-types>

 <action name="ajax1" class="action.Div">
 <result type="json"/>
 </action>

</package>

我的类 action.Div


String hi ="hi world";
String bye ="bye world";

@Override
public String execute() throws Exception {
 return SUCCESS;
} 

/* getters and setters*/

我的div中显示的输出:


{"bye":"bye world","hi":"hi world"}

我如何让你看到 "hi world"

时间: 作者:

  • Struts2 插件序列化整个操作,因此如果只需要一个变量,则需要在 struts.xml. 中指定 root 对象( "hi",在你的情况下)

    阅读这里答案可能很有用: http://stackoverflow.com/a/17149414/1654265

  • 你会得到 "hi world" 。 如果你想要没有双引号,你需要指示JQuery插件注意到它正在处理JSON数据;你将把 dataType ="json" 添加到你的<sj:div> 中,并将它的添加到你的服务器。

作者:
...