A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李鑫 初级黑马   /  2012-6-17 23:02  /  3148 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在JSP页面中,用 <%=request.getContextPath()%>可以得到网站根目录的值,那么如何使用struts2标签中使用这个值呢?比如 <s:property value=?/>可以显示这个值是吗?已经尝试过 #request.contextPath 不行 使用此功能的目的是将根路径设置在一个变量中以调用 如<s:set name='root' value='contextPath'/>

2 个回复

倒序浏览
Struts2 一个要匹配路径的地方就是在处理完请求之后对页面进行分发的时候,也就是 result 元素里面的内容。

假设项目名为 Struts2

在地址栏中访问 action 时 URL 基本是以 http://localhost:8080/Struts 开头

比如 <action name="home" class="test.HomeAction" namespace="/">
<result name="success"> 要访问的 jsp 页面 /result>
  </action>

这里有两种方式来写要访问的 jsp 页面,一种加“ / ”,另一种是不加“ / ”。

1) jsp 页面写成 /Pages/path.jsp, 那么就会从项目的根路径中开始找也就是,也就是 Struts 所在的根目录,在一层一层的下去找。

2) jsp 页面写成 Pages/path.jsp, 那么就会从当前路径开始找 ( 注意当前路径是指当前访问者请求的目录 ) ,在这个例子中的我们是通过请求 action ,进而间接访问到 jsp 文件的,所以当前路径应该就是 action 所在的路径,在本例中也就是 http://localhost:8080/Struts ,从这里可以看到当前路径就是根路径,所以两种方式都可以访问到 jsp 页面,如果当前路径不是根路径那么情况就不同了。

回复 使用道具 举报
<s:property value="#request.get('javax.servlet.forward.context_path')" />
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马