struts2路径问题

来源:互联网 发布:固定收益 经典知乎 编辑:程序博客网 时间:2024/04/25 14:06

访问action
1.表单
2.直接输入url
3.超链接
假设包名是path action名是path
那么超链接访问就应该是

<a href="path/path.action">点我</a>

前面要加上包名

这个时候url变成了

http://loaclhost/应用名/path/path.action

页面转到了path.jsp,因为path.jsp和index.jsp在同一个目录下面,也就是根目录下面,如果我想要从path.jsp返回到index.jsp
如果就这么写(使用相对路径)

<a href=index.jsp>点我</a>

那么url就会变成

localhost/应用名/path/index.jsp

但是/path/index.jsp是不存在的,所以肯定就是404了

要解决这个办法很简单,既然相对路径可能会出错,我们开发strtus的时候就同意使用绝对路径就好了
在path.jsp里面加一点设置就好了

<%String path = request.getContextPath();//获取application的名称String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";//组合起来就是http://localhost:80/application path%><!-- baseaPath就是绝对路径 --><!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%>" /><!--重点就在这里--><meta http-equiv="Content-Type" content="text/html; charset=GB18030" /><title>Insert title here</title></head><body><a href="index.jsp">index.jsp</a></body>

因为超链接href这个东西默认是空值,现在在head给他赋值了
所以使用超链接访问的部分就都是用绝对路径访问了,这样一来,点击
这个超链接
路径就会变成

http://localhost/app/index.jsp

这样就可以成功访问了

0 0
原创粉丝点击