struts2的jsp页面提交后,命名空间重复出现的问题

来源:互联网 发布:淘宝店铺经营类别 编辑:程序博客网 时间:2024/05/24 06:50

当对struts2的action进行分包后,如下配置:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.0.dtd"><struts><!-- 开启动态方法调用 -->    <constant name="struts.enable.DynamicMethodInvocation" value="true"/><package name="myPackage" extends="struts-default" namespace="/"><interceptors><interceptor-stack name="myDefaultStack"><interceptor-ref name="defaultStack"/></interceptor-stack></interceptors><default-interceptor-ref name="myDefaultStack"></default-interceptor-ref><!-- =====================Base Start======================= --><action name="index" class="cn.mys2sh.web.action.IndexAction"><result>/jsp/index.jsp</result></action><!-- <action name="helloWorld" class="helloWorldAction"> <result name="input">/jsp/helloWorld.jsp</result><result>/jsp/helloWorld.jsp</result></action> --></package><!-- =====================ADMIN Start======================= --><package name="admin" namespace="/admin" extends="myPackage"><action name="userDetail" class="userAction"> <result name="success">/jsp/userDetail.jsp</result></action></package></struts>

这里有一个admin的命名空间。


jsp页面:

<div id="local" style="width:100px;">                <h3>管理系统</h3>                <ul>                    <li><a href="index.do">会员查看</a></li>                    <li><a href="admin/userDetail.do">会员注册</a></li>                    <li><a href="#">Content page 3</a></li>                    <li><a href="#">Content page 4</a></li>                    <li><a href="#">Content page 5</a></li>                    <li><a href="#">Content page 6</a></li>                </ul>            </div>

这样写之后,每次点击会员注册的链接,命名空间“admin”都会重复出现。

http://localhost:8080/webProject/admin/admin/admin/admin/admin/userDetail.do


解决办法:

在jsp页面添加如下代码:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:set var="ctx" value="${pageContext.request.contextPath }"/>

${pageContext.request.contextPath }:可以取得工程的根目录

同是把链接修改如下:

<a href="${ctx}/admin/userDetail.do">会员注册</a>


原创粉丝点击