3

如何使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>
4

2 回答 2

4

最简单的方法是将其内容包装在 中<h:commandLink>,如有必要,使用<f:ajax>. 使用 CSSdisplay: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}" />
于 2013-03-14T11:28:21.437 回答
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>
于 2016-03-02T01:59:21.283 回答