为什么ajax无法调用我的struts动作类?

时间:2016-12-16 16:39:03

标签: java jquery ajax jsp struts2

我尝试使用Ajax访问struts动作类,并在JSP上显示动作类生成的列表,但结果总是出现在错误部分中。任何身体都可以帮助我。有没有办法在eclipse中调试像JSP这样的JSP页面?

  function loadJson() {
    $.ajax({
        type : "GET",
        url : "JsonTest1.action",

        success : function(data) {

            var html = "<ol>";
            $.each(data.list, function() {
                html += "<li>" + this + "</li>";
            });
            html += "</ol>";
            $("#jid").html(html);
        },
        error : function(data) {
            alert("No values found..!!");
        }
    });
}

我的动作类

  public String execute() throws Exception {

    return "SUCCESS";
}

public String getMyList() {
    setList(new ArrayList<String>());
    getList().add("A");
    getList().add("B");
    getList().add("C");
    getList().add("D");

    return "success";
}

这是我的struts.xml

 <action name="JsonTest1" class="web.MyAction">
        <result name="SUCCESS">/index.jsp</result>
    </action>
    <action name="JsonTest1" class="web.MyAction" method="getMyList">
        <result name="success" type="json"></result>
    </action>

2 个答案:

答案 0 :(得分:0)

没有你的struts.xml我只能建议你这个:
如果您不想刷新页面:只是想获取列表

<struts>
    <package name="pkgName" extends="json-default" namespace="/">
        <action name="JsonTest1" method="getMyList" class="web.MyAction" >
            <result type="json">
                // <param name="root">yourList</param> 
            </result>
        </action>
    </package>
</struts>

答案 1 :(得分:0)

我得到了我的问题的解决方案。我的项目中没有附加struts-json-plugin jar。我在这里看到了一个参考文献..

How to call Action class using Ajax in Struts 2