struts2 Path 路径问题
2017-05-18 19:53
274 查看
struts2中的路径问题是根据action的路径而不是jsp路径来确定,所以尽量不要使用相对路径。
虽然可以用redirect方式解决,但redirect方式并非必要。
解决办法非常简单,统一使用绝对路径。(在jsp中用request.getContextRoot方式来拿到webapp的路径)
或者使用myeclipse经常用的,指定basePath
例子:
<?xml version="1.0" encoding="GB18030" ?>
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<%
//这里的path是得到webapp的名字,如果我们的webapp名字是struts_0400_path
//那么path就是struts_0400_path
//basePath包含了path内容,他是全路径:http://localhost:1000/struts2_0400_paht
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
说明:<base href="<%=basePath%>" />是指定跟路径。
<base href="<%=basePath%>" />
<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
<title>Insert title here</title>
</head>
<body>
说明:在这里我们使用的链接是index.jsp,但是因为在<head>中我们定义了<base href="<%=basePath%>" />
所以在这里的链接其实是:http://localhost:1000/struts2_0400_path/index.jsp 路径
这就是<base href="<%=basePath%>" />的好处之所在了。
<a href="index.jsp">index.jsp</a>
</body>
</html>
虽然可以用redirect方式解决,但redirect方式并非必要。
解决办法非常简单,统一使用绝对路径。(在jsp中用request.getContextRoot方式来拿到webapp的路径)
或者使用myeclipse经常用的,指定basePath
例子:
<?xml version="1.0" encoding="GB18030" ?>
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<%
//这里的path是得到webapp的名字,如果我们的webapp名字是struts_0400_path
//那么path就是struts_0400_path
//basePath包含了path内容,他是全路径:http://localhost:1000/struts2_0400_paht
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
说明:<base href="<%=basePath%>" />是指定跟路径。
<base href="<%=basePath%>" />
<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
<title>Insert title here</title>
</head>
<body>
说明:在这里我们使用的链接是index.jsp,但是因为在<head>中我们定义了<base href="<%=basePath%>" />
所以在这里的链接其实是:http://localhost:1000/struts2_0400_path/index.jsp 路径
这就是<base href="<%=basePath%>" />的好处之所在了。
<a href="index.jsp">index.jsp</a>
</body>
</html>
相关文章推荐
- Struts2中的path路径问题、动态方法调用、通配符
- Struts2 path 路径问题说明
- Struts2 学习 第4part path(路径问题)
- Struts2关于Action的系统训练3关于Action创建和path路径问题
- 道听途说Struts2之4:Path路径问题
- struts视频12_尚学堂马士兵_Struts2_Struts2_Path_绝对路径问题
- Struts2_4_ Path路径问题
- 【Struts2复习知识点四】-Path路径问题
- 【Struts2复习知识点四】-Path路径问题(转载)
- IE8上传文件时javascript取文件的本地路径的问题C:\fakepath\
- 配置android时出现path问题,因为路径有中文,完美解决方法
- struts2中action跳转导致图片相对路径无法显示问题
- 获取上当前访问路径问题 (struts2)
- struts2中action的路径问题以及在MyEclipse8.5中的说明(通配符等等)
- 说一下Java里面的路径问题,CLASSPATH和SOURCEPATH
- struts2改变配置文件路径的一系列问题
- IE8上传文件时javascript读取文件的本地路径的问题("C:/fakepath/")的解决方案
- 巧用GetShortPathName解决带Unicode字符路径在非Unicode程序里的无法访问的问题
- IE8+上传文件时javascript取文件的本地路径的问题C:/fakepath/
- 解决JSP路径问题的方法(jsp文件开头path, basePath作用) 收藏