道听途说Struts2之4:Path路径问题
来源:互联网 发布:react 数据undefined 编辑:程序博客网 时间:2024/05/01 20:04
这几天写程序经常遇到路径问题,在使用servlet的时候,使用的映射路径,然后在servlet中跳转的时候经常使用..返回上一目录很麻烦。在Struts中同样也会有这种问题,在我们使用Action的时候经常会遇到。比如有如下的Struts.xml文件:
<?xml version="1.0" ncoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <constant name="struts.devMode" value="true" /> <package name="path" extends="struts-default" namespace="/path"> <action name="path" > <result >/path.jsp</result> </action> </package></struts>
这样我们在地址栏里输入:http://localhost/项目名/path/path,这样就会返回/path.jsp文件给客户端。地址栏会变成:http://localhost/项目名/path/path.jsp。如果这个jsp文件中有一个连接:<a href="index.jsp">index.jsp</a>(index.jsp在项目根目录下,并且和path.jsp同目录),这样我们一点这个连接的时候就会报告错误。而地址栏会变成http://localhost/项目名/path/index.jsp,服务器找不到这样目录结构的文件。但是在正常情况下,这样是成功的。这就是跳转问题,链接默认的是在相同目录中去寻找,这里的相同目录指的是,地址栏中的目录结构。但是Struts的跳转一多就会搞不清楚了。所以这里使用绝对路径。
但是使用绝对路径不能像“/index.jsp”这样写,这样会跳转到网站的根目录,而不是项目的根目录。这里介绍一下myeclipse中的默认设置方法。在jsp的开头加上:
<%
String path = request.getContextPath();
String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
在后面需要写路径的时候就可以使用“<%=basePath %>index.jsp”了,这样就方便了许多。
还可以在网页中使用base标签:<base href="<%=basePath%>" />
这样在后面需要写路径的时候就可以使用“index.jsp”了,这样就更加方便。
上面代码中的方法意思,读者自己去查文档,或者百度吧。
希望写到这里说明白了,如果哪里错了,还请指出
- 道听途说Struts2之4:Path路径问题
- struts2 Path 路径问题
- 道听途说Struts2之3:Action
- Struts2 path 路径问题说明
- 道听途说Struts2之2:命名空间
- 道听途说Struts2之2:命名空间补充
- 道听途说Struts2之5:Method and DMI
- 道听途说Struts2之9:接收中文参数
- 道听途说Struts2之11:取得Web元素
- 道听途说Struts2之12:include模块包含
- 道听途说Struts2之13:默认的Action
- 道听途说Struts2之16:global result
- 道听途说Struts2之17:动态结果
- 道听途说Struts2之20:OGNL投影
- struts2之路径问题
- 道听途说Struts2之6:Action通配符 约定优于配置
- 道听途说Struts2之7:使用Action属性接收参数
- 道听途说Struts2之8:使用DomainModel属性接收参数
- 使用urlrewrite美化struts请求地址
- java list用法
- 学习OpenCV:一
- c++string函数详解
- 8-1-3运算符重载(扩展+,-..功能,定义一目运算符“-”)
- 道听途说Struts2之4:Path路径问题
- 使用xmlpull创建xml文件
- Quartus II常见错误
- c 中运算符详解及其优先级
- 轻松使用dom创建xml
- Centos下GCC引用mysql头文件和库文件
- Win7 和 MAC 系统通过VMware共享文件夹
- Android中GridView拖拽的效果【android进化三十六】
- 银行业务调度系统