您的位置:首页 > 编程语言 > Java开发

struts2路径问题

2016-01-28 20:34 316 查看
(1)struts2中的路径问题是根据action的路径而不是jsp路径来确定的,所以尽量不要使用相对路径

(2)虽然可以使用redirect方式解决,但是redirect方式并非必要

(3)解决方法非常简单,统一使用绝对路径。(在jsp中用request.getContextRoot方式拿到webapp的路径)或者使用myeclipse经常用的指定basepath.

struts.xml

<span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
<constant name="struts.devMode" value="true" />
<package name="path" namespace="/path" extends="struts-default">
<action name="path" class="com.dqpi.eonline.IndexAction1">
<result name="path">
/path.jsp
</result>
</action>
</package>
</struts>
</span>
IndexAction1.java

<span style="font-size:18px;">package com.dqpi.eonline;

public class IndexAction1 {
public String execute() {
return "path";
}
}
</span>
index.jsp

<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<!--此处使用了myeclipse中经常使用的basepath  -->
<base href="<%=basePath%>">

<title>My JSP 'index.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
<a href="path/path.action">路径问题说明</a>
</body>
</html>
</span>
path.jsp

<span style="font-size:18px;"><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!-- 此处引进了struts的标签库 -->
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<span style="color:#ff0000;"><base href="<%=basePath%>"></span>

<title>My JSP 'path.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<a href="index.jsp">index.jsp</a><br>
</body>
</html>
</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: