项目名丢失的问题

我们在页面(不论是Jsp还是HTML)中来回来回转跳,或是只写一个Servlet/Action的路径的话,都可能会出现项目名丢失的问题,例如:项目名为stu,我们写了一个转跳到addStu.action的链接,点击之后URL变为 http://localhost:8080/addStu.action , 设置一个错的路径,正确的路径应该为 http://localhost:8080/stu/addStu.action,这就是出现了项目名丢失的问题

解决方法一:

使用 ${pageContext.request.contextPath }/  来代替项目名,就可以解决,这样即使在多次转跳到自己页面,也不会出现项目名重复的问题

${pageContext.request.contextPath }/addStu.action 代替只写个addStu.action

解决方法二:

使用标签库来处理,可以使用JSTL标签<c:url value='路径'/>来处理路径  <c:url value='/addStu.action'/>。

或者是Strut2标签<s:url value='路径'/>都可以 <s:url value='addStu.action'/> 记得指定到Action要带.action后缀

原文地址:https://www.cnblogs.com/lz2017/p/7127928.html