Struts2学习笔记(2)-路径问题解决

时间:2022-02-25 05:42:00

  在struts2中的路径问题是根据Action的路径而不是JSP的路径确定的,所以尽量不要使用相对路径,使用相对路径会让路径问题变得很繁琐很麻烦,有的时候一个细微的变动会导致你需要大的改动。

  解决方法其实也很简单:即统一使用绝对路径。

  在jsp中可以通过request.getContextRoot的方式获得webapp的绝对路径:

 

复制代码 代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 
<% 
    String path = request.getContextPath(); 
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%>

 

  以上方式很明确,path字符串获得是webapp的路径,然后basePath获得的是整个项目的根路径(注:已经含有了最后的“/”

在使用时只需调用basePath即可(以跳转到index为说明):

 

复制代码 代码如下:
<a href="<%=basePath %>index.jsp">index.jsp</a>

 

其中<a></a>代表的是超链接,这样就可以跳转到xxxxx/index了(前提是你的namespace和Action的设置要配置好)。

以上就是Struts2中路径问题的全部内容,希望能给大家一个参考,也希望大家多多支持服务器之家。