【问题标题】:ExtensionlessURLs JBoss AS7无扩展 URLs JBoss AS7
【发布时间】:2013-06-13 03:52:46
【问题描述】:

开始一个新项目,除了基本的东西,我还没有在项目中真正添加任何东西。我想做的第一件事是清理 .xhtml/.jsf 扩展。我安装了:

<dependency>
    <groupId>org.omnifaces</groupId>
    <artifactId>omnifaces</artifactId>
    <version>1.5</version>
</dependency>

制作目录:WEB-INF/faces-views/ 把简单的文件放在那里 home.xhtml 在我的 web.xml 我放:

<context-param>
    <param-name>org.omnifaces.FACES_VIEWS_SCAN_PATHS</param-name>
    <param-value>/*.xhtml</param-value>
</context-param>

<welcome-file-list>
    <welcome-file>home</welcome-file>
</welcome-file-list>

我还尝试了没有上述上下文参数设置的 web.xml。

(仅供参考:同一页面在 host/context/home.xhtml 的omnifaces 之外工作)

在日志中我可以看到全脸正在加载:

23:22:24,628 INFO  [org.omnifaces.eventlistener.VersionLoggerEventListener] (ServerService Thread Pool -- 74) Using OmniFaces version 1.5

但是当我去 localhost:8080/{context}/home 我得到一个 404:

JBWEB000309: type JBWEB000067: Status report

JBWEB000068: message /{context}/home.xhtml

JBWEB000069: description JBWEB000124: The requested resource is not available.

容器是 JBoss 社区最新版本:Janus:6.1.0.GA, JBoss Web/7.2.0.Final-redhat-1

考虑到设置非常简单,我认为这将是一个很好的解决方案。有谁知道我可能面临的兼容性问题,或者我做错了什么。我在日志文件中看不到任何错误。

谢谢

【问题讨论】:

    标签: jsf omnifaces


    【解决方案1】:

    首先请注意,不需要同时指定org.omnifaces.FACES_VIEWS_SCAN_PATHS 并在WEB-INF/faces-views/ 中添加内容。

    WEB-INF/faces-views/ 是无配置默认值。总是扫描它以获取视图。

    org.omnifaces.FACES_VIEWS_SCAN_PATHS 用于配置要扫描的可选路径。

    因此,在您的情况下,您可以将视图放在根目录中(通常情况下)并保留配置,或者删除配置并将文件保存在 WEB-INF/faces-views/ 中。

    无论如何,您尝试过的方法都应该奏效。我用 JBoss EAP 6.1(目前在 JBoss download page 的顶部)对其进行了测试,它只使用了一个最简单的示例。我怀疑还有其他问题。

    如果需要,您也可以在 OmniFaces issues tracker 创建问题。

    【讨论】:

    • 谢谢,我应该注意到我尝试了 3 种方式,一种使用 faces-views,一种使用 SCAN_PATHS,另一种同时使用,这是我分享的一种。你让它工作的事实让我有理由回去再看一遍。我一定做了什么,事情是我没有任何其他可能导致冲突的依赖项,但它一定是我做的。
    猜你喜欢
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    • 2013-02-06
    • 1970-01-01
    • 2013-08-28
    • 2012-02-11
    • 1970-01-01
    相关资源
    最近更新 更多