【发布时间】:2014-04-15 07:47:56
【问题描述】:
我们正在尝试使用 JSF 2.2 中的 <f:view contracts="xxx" /> 功能,同时具有许多合同,例如“contract1,contract2”。
在我们的合同 1 中,我们有一个文件 style1.css,在我们的合同 2 中,我们有一个文件 style2.css。我们通过<h:outputStylesheet /> 标签将两者都包含在我们的视图中。
如果我只在视图中使用contracts="contract1",JSF 日志比style2.css 少,这是合乎逻辑的。
如果我使用contracts="contract1,contract2",JSF 会同时导入style1.css 和style2.css,但URL 错误(它使用&con=contract1 而不是&con=contract2 来获取资源)。
这是一个错误吗?正常吗?我找不到任何有关使用多个同时合同的文档。
【问题讨论】:
-
我还没有阅读这方面的规范,但从逻辑上讲,所有合约(“主题”)都应该包含完全相同的资源文件。基本上,改变的不是资源,而是资源的内容。答案就是将这两个文件重命名为同名
style.css。 -
但是如果每个合约都必须定义所有资源,那么同时允许多个合约又有什么意义呢?如果我设置了
contracts="c1,c2",并且如果 c1 和 c2 都定义了所有资源,那么其中一个总是会被另一个静音,对吗? -
嗯,你也许是对的。我刚刚阅读了这方面的规范,但规范本身似乎并没有说明在
<f:view contracts>中使用多个合同。
标签: jsf jsf-2.2 resource-contracts