[英]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.