当前位置: 首页 > 面试题库 >

将JSF .xhtml文件映射到无扩展名

许学真
2023-03-14
问题内容

在JSF中,我可以将Faces Servlet映射到各种URL模式。例如*.xhtml

但是我想要的是将Faces Servlet映射为
扩展名。意思是,如果我customers.xhtml在Web根目录中有一个页面,我想使用来请求此页面http://example.com/customers

我看了一个问题,如何配置不带文件扩展名的JSFURL映射?这在某种程度上是可行的,但它要求我分别映射我拥有的每个文件(如果我输入错了,请更正我)。

如何将所有.xhtml文件一次映射到Faces Servlet,而不必分别映射它们?


问题答案:

使用标准方法是不可能的。基本上,您需要自制一个映射到的servlet过滤器,/*并检查当前请求URL是否是无扩展名的URL,如果是,则RequestDispatcher#forward()对附加了文件扩展名的URL
进行调用(您知道,转发不会修改当前请求的URL)。请求网址作为重定向即可)。你还需要一个定制视图处理程序来产生所需的扩展名的网址,JSF
<h:form><h:link>等等。

另外,您可以使用PrettyFaces或OmniFaces的FacesViews,这样就不必重新发明轮子了。在FacesViews展示页面的底部,您可以找到一些直接链接到源代码的简单链接,这可能会给您一些启发。



 类似资料:
  • 我想把下面的数组转换成一个稍微修改的对象(见下文)。我也在尝试使用扩展运算符,但还没有弄清楚如何做到这一点。我试图避免使用lodash(用于教育目的)。 null

  • Hi这似乎适用于添加额外的方法,但不适用于在现有方法上添加新的注释。假设我们有以下课程:

  • 因此,当我将对象转换为JSON字符串时: dob以以下方式写入JSON字符串: “dob”:{“年份”:1964,“月份”:“二月”,“纪年”:{“日历类型”:“ISO8601”,“ID”:“ISO”},“月份值”:2,“DayofMonth”:13,“DayofWeek”:“星期四”,“Era”:“CE”,“DayofYear”:44,“LeapYear”:true 所以,我不知道我是如何做到这

  • 问题内容: 大多数教程都建议使用默认的JSF配置,类似于以下web.xml: 使用此配置,仅当对应的URL以文件扩展名.jsf结尾(例如,http://localhost/welcome.jsf)时,Faces Servlet才能找到我的Web应用程序中的相应 .xhtml文件。是否可以配置web.xml,以便使用相同的 .xhtml文件将不以.jsf结尾的URL也处理为JSF页面? 换句话说,我

  • 这类似于JPA映射带有继承的视图和表,但由于接受的答案不能让我满意,所以我决定问自己的问题。 我有一个基于类,它包含所有实体的公共字段 我想像现在一样读/写,但我不知道如何映射,以便JPA查询可以使用它。我用做了一些努力,但没有成功。如果我将中的所有字段复制到中,那么我的应用程序将按预期运行,但这并不适合我。如何映射视图以便使用继承?

  • 问题内容: 我是Linux新手。我正在尝试编写一个shell脚本,该脚本将 根据文件的扩展 名将 文件移动到某些文件夹 ,例如在我的downloads文件夹中,我具有混合文件类型的所有文件。我写了以下脚本 将文件添加到此文件夹后,如何使其自动运行?现在,我必须每次手动运行脚本。 还有一个问题,有什么办法可以合并这两个语句 成为一个陈述?我尝试使用(C编程“或”运算符)和逗号,但它们似乎不起作用。