我们在页面(不论是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后缀