Struts2 jsp页面在新窗口中打开而不是内容div

时间:2015-11-06 13:34:55

标签: javascript jquery html ajax struts2

我有一个Struts2应用程序,其中主页水平分割为页眉,菜单,内容和页脚。单击菜单,通过JQuery和Ajax调用“导航”操作。菜单名称作为参数通过s:url标记传递给操作。根据菜单名称,动态准备JSP页面名称。但是,Ajax响应不会加载到页面的“内容”部分中,而是会重定向到新页面。我不确定为什么会这样。以下是代码段。

引入了menu.jsp

<!-- Dynamic Menu Bar -->
<div id="menu" class="divMenu">
    <ul>
        <s:iterator var="parent" value="menuList">
            <li>
                <s:a href="#">
                    <s:property value="#parent.menuDesc" />
                </s:a>
                <ul class="sub-menu">
                    <s:iterator var="child" value="#parent.childrenList">
                        <li>
                            <s:url var="urlValue" action="navigate">
                                <s:param name="pageName" value="#child.menuDesc" />
                            </s:url>
                            <s:a method="post" href="%{urlValue}" onclick="menuNavigate(this)">
                                <s:property value="#child.menuDesc" />
                            </s:a>
                        </li>
                    </s:iterator>
                </ul>
            </li>
        </s:iterator>
    </ul>
</div>

JavaScript函数

function menuNavigate(action) {
    alert(action);
    $.ajax({
        type : "POST",
        url : action + ".action",
        datatype: "html",
        success : function(response) {
            alert(response);
            $("#content").html(response);
        },
        error : function(err) {
            $("#content").html(err);
        }
    });
}

顺便说一下,我能够在Ajax调用的成功部分下看到使用警报的响应。单击“确定”后,响应将显示在新窗口中。

Struts2 XML

<action name="navigate" class="com.web.action.home.HomePageAction" method="navigate">
    <result name="success">/WEB-INF/pages/${pageName}</result>
</action>

1 个答案:

答案 0 :(得分:0)

添加array[0] = 0 array[1] = 0 array[2] = 6 array[3] = 0 array[4] = 8 为我工作。感谢所有提供宝贵建议的人。