问题标签 [resource-contracts]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
613 浏览

jsf - f:view 与许多已定义的资源库合同的行为如何?

我们正在尝试使用JSF 2.2<f:view contracts="xxx" />中的功能,同时有许多合同,如“contract1,contract2”。

在我们的 contract1 中,我们有一个 file style1.css,而在我们的 contract2 中,我们有一个style2.css. <h:outputStylesheet />我们通过标签将两者都包含在我们的视图中。

如果我只contracts="contract1"在视图中使用,JSF 日志比style2.css缺少,这是合乎逻辑的。

如果我使用contracts="contract1,contract2",JSF 会同时导入style1.cssstyle2.css,但 url 错误(它使用&con=contract1而不是&con=contract2获取资源)。

它是一个错误吗?正常吗?我找不到有关使用许多同时合同的任何文档。

0 投票
0 回答
1394 浏览

maven - 如何加载 JSF 2.2 合同资源

我一直在尝试在我的 maven 项目中使用 JSF 2.2 的合同来加载资源(css、js 和图像文件),但除了“无法加载”消息之外,我什么也没得到。

这是文件结构:

在我的 faces-config.xml 我有:

在我的 index.xhtml 中,我尝试了以下内容:

这是模板文件:

编辑:这是 pom.xml 文件:

我想写我尝试过的所有东西,但这实际上是几十种代码组合,比如在 ui:content 定义中使用 h:outputScript h:outputStylesheet,使用带有 EL 引用的纯 HTML,删除 ui:composition 和只是使用一页等

我已经尝试将合同放在src/main/webapp/contracts文件夹中,并且遇到了同样的问题。

我的 HTML 输出始终是正确的,但生成的 css 链接标记返回“RES_NOT_FOUND”错误,并且脚本返回相同或根本不显示。我正在尝试加载一个 CSS/JS 框架,所以我真的需要一个解决方案来模块化处理所有这些(实际上是数千个)资产。我一直无法在网上找到任何有效的东西,可能是因为合同是相当新的,但可能是什么问题?我是否必须为我的页面使用 .jsf url 映射?无论如何以类似于加载primefaces的方式从JAR文件加载这些资源?将资产上传到服务器上并使用直接 html 链接是否更有意义,因为它们都是前端资产?

任何帮助是极大的赞赏。

0 投票
0 回答
364 浏览

jsf - JSF 2.2 can't load contract template from jar

We have problem with loading template.xhtml from .jar file in web app.

We use GlassFish Server 4.1, Netbeans 8.0.1. We are make Maven Enterprise Application project with moduls.

Some of modula are WebApps (WAR), and we would like u share contracts between them. We have one common.JAR with contract templates in META-INF\contracts. Every WAR have common.JAR in \WEB-INF\lib. (Classic example form tutorials)

In JSF 2.2 specification we find that jar file does not need additional files.

But, we got: javax.faces.view.facelets.TagAttributeException: /index.xhtml @8,48 Invalid path : /template.xhtml

When we try to load images from common.JAR\META-INF\resources\image.jpg it is ok.

We use pom.xml and we have this dependencis:

If anyone has an idea what could be wrong?

0 投票
1 回答
971 浏览

jsf-2 - PicketLink 保护停止加载 JSF 2.2 资源合同

我有一个 JSF 2.2 webapp,其中包含一个合同和几个页面,它们直接位于 WebContent 文件夹中。合约由一张图片、一个模板文件template.xhtml和一个 css 文件global.css组成。到目前为止,一切都按预期工作。

现在我想使用 PicketLink 进行用户身份验证和授权,并遵循了一个教程(http://www.ocpsoft.org/security/simple-java-ee-jsf-login-page-with-jboss-picketlink-security/) ,但是当访问我的页面时,无法加载图像和 css 文件,只有模板适用,所以我的页面根本没有应用 CSS 样式,并且在 Firefox Inspector 中有一行显示(翻译自德语):“样式表http://localhost:8080/MyTestProject/login.xhtml未加载,因为它的 MIME 类型是“text/html”而不是“text/css”。

更换后

HttpSecurityConfiguration类中

可以再次加载图像和 css。

我尝试了以下(以及其他一些路径),但没有解决问题:

如何从 PicketLink 保护中排除合同文件夹?


这是我完整的 HttpSecurityConfiguration 类:

编辑 在回复 Kukeltje 的评论时,我在模板中包含了 CSS

和图像

我还尝试将javax.faces.resource包含为不受保护,但仍然无法正常工作。

编辑#2 以下也不起作用,我从文档中得到了这个想法(PicketLink 参考第 12.2 章):