当前位置: 首页 > 知识库问答 >
问题:

Omniface无扩展URL和h: link

裴曜灿
2023-03-14

根据http://showcase.omnifaces.org/facesviews/ExtensionlessURLs默认情况下,由ViewHandler生成的所有URL。getActionURL(FacesContext,String),供其他人使用

<h:form>, <h:link>, <h:button> 

和所有扩展标签也将是无扩展的。

我尝试通过将Facelet源文件放入/WEB-INF/人脸视图目录中来使用它。

我在浏览器中输入了 /context/entries,页面在 /WEB-INF/faces-views/entries.xhtml.但是当我在facet页面中使用它时:

<h:link outcome="entries">Entries</h:link>

产生的url是/context/we b-INF/faces-views/entries . XHTML,这不是理想的结果。哪里出了问题?

我使用的是Mojara 2.2.12和Omniface 2.6.9,我的人脸servlet映射是*. jsf。

共有2个答案

锺离正祥
2023-03-14

BalusC是对的,切换到2.6.8版本解决了这个问题。功劳还是巴卢斯科的,但他功劳太多了,所以我想他不会介意我自己贴了一个答案,只是不想打扰他。

将servlet映射更改为*. xhtml也解决了问题。恕我直言,Xtreme Biker: bug就是bug。即使我将映射更改为*. abc也不应该有问题。

郏佐
2023-03-14

在2.6.9的FacesViews中有一个小错误,在2.7-SNAPSHOT中已经修复。在让FacesViews支持名称中带有句点的文件夹(如< code>/foo.bar/baz)时,我不小心将部分修复提交到了3.x中,而不是2.x中。这解释了为什么它在3.1中运行良好,如“viewsdemo”showcase所示。我的错误,这只是再次证明我是人而不是机器。

有几种方法可以解决这个问题:

  1. 降级到 2.6.8。
  2. 或者,迁移到 3.1。
  3. 或者,保留 2.6.9 并使用单个 Web .xml上下文参数的“最小配置”方法,而不是将文件放在 /WEB-INF/人脸视图中的“零配置”方法。
 类似资料:
  • 在Seafile系统上文件被分割成数据块,这意味着在你的Seafile服务器上存储的并不是完整的文件而是数据块。这种设计能够方便有效的运用数据去重技术。 然而,有时系统管理员想要直接访问服务器上的文件,你可以使用seaf-fuse来做到这点。 Seaf-fuse是一种FUSE虚拟文件系统的实现. 一句话来说就是,它挂载所有的Seafile文件到一个目录(它被称为’’’挂载点’’’),所以你可以像访

  • Seafile WebDAV Server(SeafDAV)在Seafile Server 2.1.0版本中被加入. 在下面的维基中, 我们假设你将Seafile安装到/data/haiwen目录下。 SeafDAV配置 SeafDAV配置文件是/data/haiwen/conf/seafdav.conf. 如果它还没有被创建,你可以自行创建它。 [WEBDAV]   # 默认值是false。改为

  • 问题内容: 我正在开发带有 Today Extension 的iPhone应用 程序 。该应用程序具有一个Model模块,可从加载/保存到。由于我希望主应用程序和扩展程序都可以使用此信息,因此我使用了一个应用程序组: 应用程序和扩展程序都可以毫无问题地访问信息。 主应用有时可能会创建本地通知以呈现给用户。该通知有两个与之关联的动作()。这些操作之一触发一些代码在主应用程序的后台运行。该代码将更改信

  • Seafile WebDAV和FUSE扩展使得Seafile能够很容易的与第三方应用协调工作。例如,你可以在IOS上通过WebDAV接口访问Seafile上的文件。

  • 这里是优化 HTML5 Boilerplate 主题的一些建议。因为并不是所有的特性都适合具体的需求,所以我们没有默认导入这些特性。 App Stores 安装 Chrome 插件 用户可以直接从网站安装 Chrome 应用,前提是该应用已经通过谷歌的网络管理工具接驳了网站。更多信息详见内置 Chrome 商店的开发文档。 <link rel="chrome-webstore-item" href

  • 协议和扩展 你可以扩展一个已经存在的类型来采纳和遵循一个新协议, 就算是你无法访问现有类型的源代码也行. 扩展可以添加新的属性、方法和下标到已经存在的类型, 并且因此允许你添加协议需要的任何需要. protocol TextRepresentable { var textualDescription: String { get } } // 此处并无Dice这个类, 以及其sides属性