我正在使用JSF 2.0和Primefaces 3.2。

我使用Facelets进行模板制作,并建立了3列布局:

左列-mainContent列-右列。每列都有它自己的带有ui:composition的模板xhtml文件,我将其插入到mainTemplate中。

在mainContent列中,我有一个信息按钮(p:commandButton):

<h:form id="mainForm">
<p:commandButton id="infoButton" value="Info" actionListener="#{faceletsAttachment.addInfo}"/>
</h:form>

但我希望该信息显示在右栏中,并带有
<h:form id="rightColumnForm">
<p:message for="infoButton">
</h:form>

这显然是行不通的,因为找不到infoButton。知道我如何进行这项工作吗?我试过了
<p:message for="mainForm:infoButton">

也是,但没有雪茄。

我想使用p:message的原因是我希望消息将自身定位在infoButton的y位置。如果您有其他解决方案,我也将不胜感激。

最佳答案

如果要从服务器端手动添加消息,则可以执行以下操作
<p:message id="myInfoButton" for="myInfoButton" />
然后像这样将邮件从服务器发送到myInfoButton

FacesContext.getCurrentInstance.addMessage("myInfoButton ", new FacesMessage("My Message", "Some Text goes here..."));

还添加:rightColumnForm id以更新<p:commandButton id="infoButton"

10-08 01:31