Java 在JSF模板标记中仅设置非空属性

Java 在JSF模板标记中仅设置非空属性,java,jsf-2,facelets,Java,Jsf 2,Facelets,我在JSF2.0中定义了许多模板标记,但在有条件地设置属性时遇到了一个问题 在上面的例子中,当我设置converterMessage时,它工作得很好。但是,当我将其输出并调用这个没有属性的组件时,p:inputText上的converterMessage基本上是空的,因此当发生转换器错误时,不会显示任何消息 相反,我希望在这种情况下显示默认消息,因此不要在inputText上设置converterMessage 有没有办法做到这一点?我确实尝试过传递null,但正如预期的那样,这并不能真正解决问

我在JSF2.0中定义了许多模板标记,但在有条件地设置属性时遇到了一个问题

在上面的例子中,当我设置converterMessage时,它工作得很好。但是,当我将其输出并调用这个没有属性的组件时,p:inputText上的converterMessage基本上是空的,因此当发生转换器错误时,不会显示任何消息

相反,我希望在这种情况下显示默认消息,因此不要在inputText上设置converterMessage


有没有办法做到这一点?我确实尝试过传递null,但正如预期的那样,这并不能真正解决问题。

Mmh不认为JSF模板适合您。。。JSF模板是为更一般的目的而设计的,比如定义页面布局。ui的目的是什么:在您的案例中插入?你打算在那里插入什么?还请记住,定义!DOCTYPE is.ui:insert用于在我的字段中插入验证器。顺便说一句,上面的问题也出现在id属性上,还有其他问题。我还是不太理解你的问题。PF文档说明converterMessage属性默认为null,因此默认情况下没有消息。因此,不声明该属性与converterMessage={null}相同。除此之外,p:inputText提供了自己的转换器和验证器属性,可用于指定要使用的内容,因此ui:insert在这里没有意义。看看他们似乎能更好地解决你的问题。