Как ведет себя f:view со многими определенными контрактами библиотеки ресурсов?
Мы пытаемся использовать <f:view contracts="xxx" />
особенность из JSF 2.2, с множеством одновременных контрактов, как "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
чтобы получить ресурс).
Это ошибка? Это нормально? Я не могу найти никакой документации об использовании многих одновременных контрактов.
1 ответ
Это нормальное поведение, как я обнаружил в учебниках по Apress Pro JSF и HTML 5. Выдержка:
Можно сопоставить несколько контрактов с одним сопоставлением. В этом случае он будет проходить через каждый контракт последовательно для поиска необходимых шаблонов. Как только шаблон будет найден, он прекратит обработку других шаблонов.
Что касается того, почему это разрешено, если все, что он собирается сделать, - это выбрать первый подходящий вариант, я согласен с вами в том, что в конце концов он может быть бессмысленным.
Ссылка: