当前位置: 首页 > 知识库问答 >
问题:

Primefaces命令按钮操作侦听器在notificationBar内不工作

桑璞
2023-03-14

我正在使用PF 5.2作为web应用程序。我想使用notificationBar驻留一些数据输入,并使用commandButton将这些输入数据触发到支持bean。因此,我在notificationBar中放置了一个commandButton,但actionListener没有调用backingbean方法。CommandButton的id为“filterBtn”。

这个xhtml页面代码如下所示:

<h:form>
<p:notificationBar position="top" effect="slide" styleClass="top" widgetVar="bar" style="height:200px;">
    <h:panelGrid columns="1">
        <h:panelGrid id="filterGrid1" columns="4" >
            <h:outputLabel id="vhclIdLbl" value="#{general.vehicleId}"/>
            <p:inputText id="fMtsId" value="#{notifyBean.fMtsId}" style="width:200px"/>
            <h:outputLabel id="serialNoLabel" value="#{general.serialNo}"/>
            <p:inputText id="fSerialNo" value="#{notifyBean.fSerialNo}" style="width:200px"/>
            <h:outputLabel id="brandLbl" value="#{general.brand}"/>
            <p:selectCheckboxMenu id="fBrand" value="#{notifyBean.fBrands}" effect="slide" style="width:210px"
                appendTo="@this"> 
                <f:selectItem itemLabel="#{general.pleaseSelect}" itemValue=""/>  
                <f:selectItems value="#{notifyBean.brandList}"/>
            </p:selectCheckboxMenu>
            <h:outputLabel id="modelLabel" value="#{general.model}"/>
            <p:selectCheckboxMenu id="fModel" value="#{notifyBean.fModels}" effect="slide" style="width:210px"
                appendTo="@this"> 
                <f:selectItem itemLabel="#{general.pleaseSelect}" itemValue=""/> 
                <f:selectItems value="#{notifyBean.modelList}"/> 
            </p:selectCheckboxMenu>
            <h:outputLabel id="provLabel" value="#{general.province}"/>
            <p:selectCheckboxMenu id="fProvince" value="#{notifyBean.fProvinces}" effect="slide" style="width:210px" 
            filter="true" filterMatchMode="startsWith" appendTo="@this"> 
                <f:selectItem itemLabel="#{general.pleaseSelect}" itemValue=""/>  
                <f:selectItems value="#{notifyBean.provinceList}"/>
            </p:selectCheckboxMenu>
            <h:outputLabel id="regionLabel" value="#{general.region}"/>
            <p:selectCheckboxMenu id="fRegion" value="#{notifyBean.fRegions}" effect="slide" style="width:210px"
                appendTo="@this"> 
                <f:selectItem itemLabel="#{general.pleaseSelect}" itemValue=""/>
                <f:selectItems value="#{notifyBean.regionList}"/>  
            </p:selectCheckboxMenu>
        </h:panelGrid>

        <p:commandButton id="filterBtn" value="Filter" actionListener="#{notifyBean.filterByProperties()}" icon="ui-icon-arrow-1-n"/>

        <p:commandButton value="Hide" onclick="PF('bar').hide()" type="button" icon="ui-icon-arrow-1-n"/>
    </h:panelGrid>
</p:notificationBar>
</h:form>

我知道这是一个简单的组件使用,但它不工作。有什么帮助吗?

共有1个答案

包兴思
2023-03-14

通知栏不应嵌入表单中。只需交换notificationBar和表单标记,表单就在notificationBar中。

<p:notificationBar position="top" effect="slide" styleClass="top" widgetVar="bar">
    <h:form>
        <p:commandButton value="yes" actionListener="#{backingBean.onDeleteButton}" onclick="PF('bar').hide()" />
        <p:commandButton value="no" onclick="PF('bar').hide()" />
    </h:form> 
</p:notificationBar>
 类似资料:
  • @override public void actionPerformed(ActionEvent e){ }

  • 我想根据单选按钮的选择设置文本框的可编辑选项?如何对单选按钮上的动作监听器进行编码?

  • 我面临commandButton的问题,它只有在类型为submit时才起作用。有没有人可以看一下,让我知道是否有解决办法?下面的代码非常简单,并有足够的建议来说明我需要什么。方法test()未执行。方法runSubmit已成功执行。 我需要测试方法在没有提交的情况下执行,因为原始页面确实在提交期间执行了验证,test()方法必须在没有提交的情况下执行,因为这是提交之前的一个初步操作。 我正在使用P

  • 我使用Primeface 4.0和jsf 2.0。 我试图调用托管bean的一个方法,在旋转木马中的Primefaces commandbutton中,但它不起作用。该按钮似乎无法调用该方法。什么都没发生。。。 所以,我一直在寻找,但我找不到任何能帮助我解决这个问题的东西。 下面是我的代码: 页xhtml 以及管理bean的方法 OBS:May bean的范围是ViewScoped。 请 谢谢

  • 下面的代码是项目的动作侦听器。基本上,我有 4 个单选按钮,当我单击一个时,我希望它更改屏幕上的变量。当我运行代码时,它只是将所有值相加。还有其他方法可以做到这一点吗?

  • 我有一个简单的HibernateInterceptor,基本上我想自动设置几个字段。此拦截器(如下所示)扩展了EmptyInterceptor: 我使用spring配置文件进行布线,如下所示: 但是,永远无法到达拦截器。有人有什么线索吗?我还尝试将以下内容添加到事务管理器bean定义中,如下所示: