天天看点

struts2点击action请求url重复命名空间

问题如下,

struts.xml配置如下

 <package name="main" namespace="/main" extends="struts-default" >

<action name="pages" class="com.zhongluo.zhaopinjiuye.aciton.personal.FindPageAction"  >

             <result name="success" >

                 /WEB-INF/personal/pages.jsp

             </result>

         </action>

     </package>

我再页面不断重复的点击pages的action请求,url地址栏就会出现如下所示:

http://localhost:8080/ZhaoPinJiuYe/main/main/main/main/main/main/main/main/main/main/main/main/main/main//pages!pagetotal?page=5

重复出现package中namespace的命名空间名称。

解决方案如下

在请求pages的action的jsp页面中:

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

header标签下加入

<base href="<%=basePath%>" target="_blank" rel="external nofollow" />

继续阅读