Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 我可以用自定义组件将html添加到jsf h:消息中吗?_Jsf 2 - Fatal编程技术网

Jsf 2 我可以用自定义组件将html添加到jsf h:消息中吗?

Jsf 2 我可以用自定义组件将html添加到jsf h:消息中吗?,jsf-2,Jsf 2,我想在JSF2.0中为h:消息添加一个页眉和页脚图像,这样它就有了漂亮的边框。 这样做的方法似乎是为组件实现自定义渲染器并写出标记。我想把它作为一个复合组件来做,但我不知道怎么说“除非你在画信息,否则不要画页眉和页脚” 有没有一种方法可以用复合组件实现这一点 我正在使用Mojara。您可以使用获取一个包含特定客户端ID的所有消息的列表(您通常只对第一个感兴趣,如果需要,可以更改下面的示例)。因此,如果列表不是空的,您可以只签入呈现的属性。然后可以使用显示消息,而不隐式转义HTML。如有必要,您可

我想在JSF2.0中为h:消息添加一个页眉和页脚图像,这样它就有了漂亮的边框。 这样做的方法似乎是为组件实现自定义渲染器并写出标记。我想把它作为一个复合组件来做,但我不知道怎么说“除非你在画信息,否则不要画页眉和页脚”

有没有一种方法可以用复合组件实现这一点

我正在使用Mojara。

您可以使用获取一个包含特定客户端ID的所有消息的
列表(您通常只对第一个感兴趣,如果需要,可以更改下面的示例)。因此,如果列表不是空的,您可以只签入
呈现的
属性。然后可以使用
显示消息,而不隐式转义HTML。如有必要,您可以将其全部封装在一个复合文件中,以保持代码的干燥

<h:inputText id="input1" binding="#{input1}" value="#{bean.input1}" />
<ui:param name="input1Messages" value="#{facesContext.messageList(input1.clientId)}" />
<h:panelGroup rendered="#{not empty input1Messages}">
    <h3>Some header</h3>
    <p><h:outputText value="#{input1Messages[0].summary}" escape="false" /></p>
    <p>Some footer</p>
</h:panelGroup>

某个标题

一些页脚


请注意,这个方法在JSF1.x中不可用,这就是为什么您需要为它创建一个自定义组件。

谢谢您的回复。这看起来像是一种处理h:messages的方法。对于我想要有条件地呈现id1消息的地方,同样的方法是否有效?啊,对了,很抱歉,我忽略了问题中的这一点。我已经编辑了我的答案。