最佳答案
我有这样的结构:
WebContent
resources
components
top.xhtml
company
about_us.xhtml
index.xhtml
top.xhtml
是一个组件,也用于 index.xthml
和 about_us.xhtml
。
top.xhtml
<ul>
<li><a href="index.xhtml">Home</a></li>
<li><a href="company/about_us.xhtml">About us</a></li>
...
</ul>
所以我的问题是,当当前页面是 index.xhtml
时,组件正确地生成 URL,但是当当前页面是 about_us.xhtml
时,它生成错误的 URL。我不能使用相对路径,因为它也会生成错误的 URL。我认为这是因为组件基于 *.xhtml
页面的当前路径。
我能找到的唯一解决办法就是:
<ul>
<li><a href="${pageContext.request.contextPath}/webname/index.xhtml">Home</a></li>
<li><a href="${pageContext.request.contextPath}/webname/about_us.xhtml">About us</a></li>
...
</ul>
但我觉得一点也不“优雅”。有什么想法吗?