使用primefaces premium主题时faces-config.xml和primefaces-sentinel.taglib.xml出错

时间:2015-09-07 10:32:52

标签: xml jsf primefaces

我正在使用Primefaces Premium主题我在其类路径中添加了必要的jar但遇到了一个我无法调试的错误,因为它似乎与java无关,但与xml / jsf相关

面-config.xml中

  

此行找到多个注释:        - cvc-pattern-valid:值'primefaces-sentinel'在模式方面不是facet-valid'($ | |        \ p {L})(\ p {L} | \ p {Nd} | | $)*'类型为'null'。        - cvc-complex-type.2.2:元素'name'必须没有元素[children],值必须        是有效的。

primefaces-sentinel.taglib.xml

  

cvc-complex-type.2.4.a:从元素'description'开始发现无效内容。其中一个'{“http://    java.sun.com/xml/ns/javaee":handler-class," http://java.sun.com/xml/ns/javaee“:behavior,”http://    java.sun.com/xml/ns/javaee":component,“http://java.sun.com/xml/ns/javaee”:转换器,“http://    java.sun.com/xml/ns/javaee":validator,“http://java.sun.com/xml/ns/javaee”:source}'是预期的。

1 个答案:

答案 0 :(得分:2)

很遗憾,您没有显示导致问题的代码。所以它是根据错误消息猜测的。

  

<强>面-config.xml中

     
    

在此行找到多个注释: - cvc-pattern-valid:值'primefaces-sentinel'对于模式'($ || \ p {L})不是facet-valid(\ p {L} | \ p {Nd} || $)*'类型为'null'。 - cvc-complex-type.2.2:元素'name'必须没有元素[children],并且该值必须有效。

  

那么,你有faces-config.xml以下的元素吗?

<name>primefaces-sentinel</name>

给定正则表达式模式($|| \p{L})(\p{L}|\p{Nd}||$)*,连字符在<name>元素中确实无效。

删除连字符或使用与给定模式匹配的其他名称:

<name>sentinel</name>
  

<强> primefaces-sentinel.taglib.xml

     
    

cvc-complex-type.2.4.a:从元素'description'开始发现无效内容。其中一个'{“http://java.sun.com/xml/ns/javaee”:处理程序类,“http://java.sun.com/xml/ns/javaee”:行为,“http://java.sun.com/xml/ns/javaee”:组件,“http://java.sun.com/xml/ns/javaee”:转换器,“{{3 “}:”验证者,“http://java.sun.com/xml/ns/javaee”:来源}'是预期的。

  

预期元素列表中缺少<tag-name>,因此您在primefaces-sentinel.taglib.xml中有以下排序?

<tag>
    <tag-name>...</tag-name>
    <description>...</description>
    ...
</tag>

鉴于XSD文件中定义的预期元素排序,这确实无效。

在他们周围交换:

<tag>
    <description>...</description>
    <tag-name>...</tag-name>
    ...
</tag>