f的行为如何:使用许多已定义的资源库合同进行查看?
我们试图将JSF 2.2中的<f:view contracts="xxx" />
特性与许多同步合同一起用作“contract1,contract2”。
在我们的contract1中,我们有一个文件style1.css
,在我们的contract2中有一个style2.css
。 我们通过<h:outputStylesheet />
标签在我们的视图中包含这两个视图。
如果我只在视图中使用contracts="contract1"
,则JSF日志会比style2.css
缺失,这是合乎逻辑的。
如果我使用的是contracts="contract1,contract2"
,JSF将导入style1.css
和style2.css
,但会导致错误的url(它使用&con=contract1
而不是&con=contract2
来获取资源)。
这是一个错误吗? 这是正常的吗? 我找不到任何有关使用许多同步合同的文档。
这是正常行为,正如我在Apress Pro JSF和HTML 5教科书中找到的那样。 摘录:
可以将多个合约映射到单个映射。 在这种情况下,它将依次通过每份合同以查找所需的模板。 一旦找到模板,它将停止处理其他模板。
至于为什么它被允许,如果它所要做的只是选择第一个合适的选项,那么我认为它毕竟没有意义。
参考:
上一篇: How behaves f:view with many defined resource library contracts?