Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Struts2 jsp页面在新窗口中打开,而不是在content div中打开_Javascript_Jquery_Html_Ajax_Struts2 - Fatal编程技术网

Javascript Struts2 jsp页面在新窗口中打开,而不是在content div中打开

Javascript Struts2 jsp页面在新窗口中打开,而不是在content div中打开,javascript,jquery,html,ajax,struts2,Javascript,Jquery,Html,Ajax,Struts2,我有一个Struts2应用程序,其中主页水平分为页眉、菜单、内容和页脚。单击菜单,通过JQuery和Ajax调用“导航”操作。菜单名通过s:url标记作为参数传递给操作。根据菜单名,动态准备JSP页面名。但是,Ajax响应不会加载到页面的内容部分,而是重定向到新页面。我不知道为什么会这样。下面是代码片段 Menu.jsp <!-- Dynamic Menu Bar --> <div id="menu" class="divMenu"> <ul>

我有一个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>
顺便说一句,我能够在Ajax调用的成功部分下使用警报看到响应。单击“确定”后,响应将显示在新窗口中

Struts2 XML

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

/WEB-INF/pages/${pageName}

添加一个
事件。preventDefault()
对我很有效。感谢所有提供宝贵建议的人。

添加一个
事件。preventDefault()
对我很有效。感谢所有提供宝贵建议的人。

您能否尝试从
中删除
method=“post”
,我之前在s:a中没有method=“post”,正在尝试,因为它不起作用。代码被粘贴在一起。我将尝试阻止默认值并让您知道。它是否与struts.xml中的名称空间有关。当前我的命名空间是/并且由于我正在传递带有URL的参数,浏览器URL在通过GET方法提交时会发生更改。命名空间与此无关。您正在单击一个链接,而浏览器正在执行您告诉它的操作--您需要防止默认值或返回false,否则该链接将像其他任何链接一样运行。preventDefault()对我有效。谢谢你的建议。如果有人能添加答案,我将投票并相应地打分。哦,我已经略过了href部分。然后
preventDefault()
或使用
javascript:void(0)(,
#
等…)如href@AleksandrM应该回答,但如果他不愿意,你自己回答,回答你自己的问题。附言:在你达到15%的声誉之前,你不能提高投票率,但你已经在考虑这样做了,这很好:)你能试着从
中删除
method=“post”
吗?我之前在S:a中没有method=“post”,因为它不起作用,所以正在尝试。代码被粘贴在一起。我将尝试阻止默认值并让您知道。它是否与struts.xml中的名称空间有关。当前我的命名空间是/并且由于我正在传递带有URL的参数,浏览器URL在通过GET方法提交时会发生更改。命名空间与此无关。您正在单击一个链接,而浏览器正在执行您告诉它的操作--您需要防止默认值或返回false,否则该链接将像其他任何链接一样运行。preventDefault()对我有效。谢谢你的建议。如果有人能添加答案,我将投票并相应地打分。哦,我已经略过了href部分。然后
preventDefault()
或使用
javascript:void(0)(,
#
等…)如href@AleksandrM应该回答,但如果他不愿意,你自己回答,回答你自己的问题。附言:在你达到15%的声誉之前,你不能提高投票率,但你已经在考虑这样做了,这很好:)
<action name="navigate" class="com.web.action.home.HomePageAction" method="navigate">
    <result name="success">/WEB-INF/pages/${pageName}</result>
</action>