簡體   English   中英

在新窗口中打開Struts2 JSP頁面,而不是內容div

[英]Struts2 jsp page opening in a new window instead of content div

我有一個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>

添加一個event.preventDefault()對我event.preventDefault() 感謝所有提供寶貴建議的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM