如何将JSON对象传递给Struts2<;迭代器>;标签

如何将JSON对象传递给Struts2<;迭代器>;标签,json,struts2,struts2-json-plugin,Json,Struts2,Struts2 Json Plugin,我使用JQuery通过ajax调用获取JSON对象。JSON对象包含模型列表(即Bean) e、 g列表 我正在使用struts2 json插件 JSON对象作为字符串,如下所示 {"myList":[{"age":26,"degree":"MCA","fname":"Pravin","id":1,"lname":"Varpe"}, {"age":26,"degree":"MCA","fname":"Pramod","id":2,"lname":"Patil"}, {"age":24,"degr

我使用JQuery通过ajax调用获取JSON对象。JSON对象包含模型列表(即Bean)

e、 g
列表

我正在使用struts2 json插件

JSON对象作为字符串,如下所示

{"myList":[{"age":26,"degree":"MCA","fname":"Pravin","id":1,"lname":"Varpe"},
{"age":26,"degree":"MCA","fname":"Pramod","id":2,"lname":"Patil"},
{"age":24,"degree":"B.E","fname":"Atul","id":3,"lname":"Vairale"},
{"age":22,"degree":"M.E","fname":"Sudeep","id":4,"lname":"Masare"},
{"age":21,"degree":"BCS","fname":"Nikhil","id":1,"lname":"Pethe"},
{"age":21,"degree":"MCS","fname":"Abhijeet","id":1,"lname":"Supekar"}]}
我想将这个JSON对象传递给
标记,如下所示

<s:iterator value = "myJsonObject">
     <s:property value = "fname"/>
     // properties 
</s:iterator>

//性质

我可以在jsp上显示这个JSON对象,方法是将它迭代到jquery函数中&创建html元素,但我不想这样做。那么,是否可以直接将JSON传递给
标记呢?

在与@Aleksandr的讨论中,我找到了答案。我把它贴在这里,这样任何一个面临同样问题的人都可以从中得到帮助

对于
标记,我们不能传递JSON对象&根本不需要它。我必须实现的是进行ajax调用并将结果传递给

因此,无需使用Struts2 json插件。只需使用
dispatcher
,这是Struts2中返回html的默认操作结果类型。简单的步骤是

  • 创建单独的JSP页面,比如
    List.JSP
    ,它将包含
    标记,我们将把结果传递给该标记(在我的例子中是
    List

  • 将此
    List.jsp
    作为我们操作的结果页面,如下所示

    <s:action name="myAction" class="package.MyClass">
        <result name = "success">List.jsp</result>
    </s:action>
    
    
    List.jsp
    
  • 因此,在进行ajax调用时,我们将得到
    List.jsp
    (即html)作为响应。只需将此响应数据添加到所需的any
    div


  • 就是这样。

    首先,您需要获取“mylist”对象,然后需要遍历“mylist”,然后再次使用JsonObject迭代器获取键值对

    <s:iterator value="test.get('myList')" var="listJsonArray">
        <s:iterator value="listJsonArray" var="row">  
            <s:iterator value="row" var="jsonObject" > 
                <s:property/>
            </s:iterator> 
        </s:iterator> 
    </s:iterator>  
    
    
    
    如果不想在JS中执行,为什么要返回JSON?因为我想使用ajax功能,即我不想重新加载页面。有没有其他方法可以在不重新加载页面的情况下从action获取JSP上的值?从ajax调用返回HTML而不是JSON并将其添加到页面。是什么阻止了您从ajax调用action返回
    dispatcher
    结果?@Aleksandr非常感谢您的出色指导。我想我明白你想说的意思了。我已使用“dispatcher”成功地将
    列表
    传递到
    标记。再次感谢你。