单击<h:panel组布局= "block" >时调用后备 Bean 操作方法



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

最简单的方法是将其内容包装在<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}" />

可以在panelGroup上使用f:ajax

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

result HTML:

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

最新更新