java映射JSF。xhtml文件没有扩展名
在JSF中,我可以将Facesservlet映射到各种URL模式。例如*.xhtml
然而,我想要的是将Faces Servlet映射到no扩展。也就是说,如果我的web根目录中有一个页面customers.xhtml
,我想使用http://example.com/customers
请求它
我看了问题{a1},这在某种程度上是可行的,但它要求我分别映射我拥有的每个文件(如果我错了,请纠正我)
如何将所有.xhtml
文件一次映射到facesservlet,而不必单独映射它们
# 1 楼答案
现在,这是可能的标准。JSF2.3解决了这个问题。例如hereJSF release info
只需在web中JSF的servlet映射中使用
<url-pattern>/pageName</url-pattern>
。xml# 2 楼答案
用标准方法是不可能的。基本上,您需要自制一个映射在} 调用(您知道,转发不会像重定向那样修改当前请求URL)。您还需要一个定制的view handler来为JSF
/*
上的servlet filter,并检查当前请求URL是否为无扩展URL,如果是,则在附加文件扩展名的URL上执行^{<h:form>
、<h:link>
等生成所需的无扩展URL或者,您可以使用PrettyFaces或OmniFaces'FacesViews,这样您就不需要重新发明轮子。在FacesView showcase页面的底部,您可以找到一些直接指向源代码的简单链接,这些链接可能会给您一些启发