不同目录的页面调用同一个Action,路径处理问题
struts2里配置了这么个Action:
<action name="showTopic" class="TopicAction" method="listTopic">
<result name="success">/forum/topicshow.jsp</result>
</action>
然后我在/forum/a.jsp里可以调用showTopic的Action,可以正常返回topicshow.jsp以及里面的样式是正确的,
但是我在其他不同目录的页面比如:
|———main.jsp
|------/forum
|---style.css
|----topicshow.jsp
我在main.jsp页面里调用showTopic这个Action的话,返回的topicshow.jsp里的样式就无法加载,路径有问题。
另:
每个页面都include一个头文件,这个头文件的一些菜单按钮是调用某个方法的,当我链接进入到某个文件夹下面的页面时,再点击头文件的按钮,也会出现路径问题。
怎么解决这个问题呢?本人新手,请大家指点。。。。。
------解决方案--------------------
注意到你用Action所引用的页面的时候,浏览器所知道的访问路径,并不是你JSP页面在服务器上的实际路径,因为这是服务器端forward,真实路径被中间件所隐藏了。
因此,JSP中引用任何其它资源文件时,建议使用绝对路径进行引用,比如:
<% String cp = request.getContectPath() %>
<img src="<%=cp%>/image/hello.jsp" />