单击<h:panelgroup layout =“block”> </h:panelgroup>调用辅助bean操作方法

时间:2013-03-14 06:26:06

标签: jsf-2

如何使mainDiv可点击并调用支持bean操作方法?

<h:panelGroup layout="block" id="mainDiv">
    <h:panelGroup layout="block" style="float:left;">
        <h:outputText value="#{messageItem.sendBy.registerName}"/>
    </h:panelGroup>
    <h:panelGroup layout="block" style="float:right;">
        <h:outputText value="#{messageItem.sendDate}">
            <f:convertDateTime pattern="HH:mm"/>
        </h:outputText>
    </h:panelGroup>
</h:panelGroup>

2 个答案:

答案 0 :(得分:3)

最简单的方法是将其内容包装在<h:commandLink>中,必要时使用<f:ajax>。使用CSS display:block让链接跨越整个div。

<h:panelGroup layout="block" id="mainDiv">
    <h:commandLink action="#{bean.action}" style="display:block;">
        <f:ajax />
        ...
    </h:commandLink>
</h:panelGroup>

或者,根据您的问题历史记录,您使用的是PrimeFaces,您也​​可以使用<p:remoteCommand>

<h:panelGroup layout="block" id="mainDiv" onclick="functionName()">
    ...
</h:panelGroup>
<p:remoteCommand name="functionName" action="#{bean.action}" />

答案 1 :(得分:1)

您可以在f:ajax

上使用panelGroup
<h:panelGroup>
    <f:ajax event="click" listener="#{adminPanel.test}"></f:ajax>
    xxx
</h:panelGroup>

结果是html:

<span id="j_idt169" onclick="mojarra.ab(this,event,'click',0,0)">
    xxx
</span>