gpt4 book ai didi

java - commandButton actionListener 调用 selectOneMenu 监听器

转载 作者:行者123 更新时间:2023-12-02 07:14:56 26 4
gpt4 key购买 nike

我正在使用 JSF 2.0 和 Primefaces 3.4.2

我有一个弹出对话框,其中有几个 inputText , selectOneMenu , autoComplete<p:commandButton

我在 selectOneMenu <p:ajax update="dept" listener="#{empMB.loadDepartments}" /> 有以下内容

当我单击 commandButton 时,将调用 selectOneMenu 的监听器和 Converter 类。我的 commandButton 方法没有被调用。这可能是什么原因?

JSF 代码

    <p:dialog header="My Panel" style="font-weight:bold"
widgetVar="NewDialog" resizable="false" id="NewDlg"
showEffect="fade" hideEffect="fade" appendToBody="true"
modal="true" position="center top" width="850" height="450">
<h:form id="createform">
<p:panelGrid columns="6">

<h:outputLabel value="Employee # " for="emp" />
<p:autoComplete value="#{mymb.selectedEmployee}"
id="emp" minQueryLength="3"
completeMethod="#{mymb.complete}"
var="p" itemLabel="#{p.employeeName}" itemValue="#{p.employeeNumber}"
forceSelection="true" >
<p:ajax event="itemSelect" listener="#{mymb.handleSelect}"
update ="empnumber phone />
<p:column>#{p.employeeName} - #{p.employeeNumber}</p:column>
</p:autoComplete>

<h:outputLabel value="Department" />
<p:inputText id="empnumber" value="#{mymb.employeeDetail.department}" >
</p:inputText>
<h:outputLabel value="Contact #" for="phone" />
<p:inputText id="phone" value="#{mymb.employeeDetail.phone}">
</p:inputText>
<h:outputLabel value="Employee Number" for="employeenumber" />
<p:inputText id="employeenumber" value="#{mymb.employeeDetail.employeeNumber}">
</p:inputText>
</p:panelGrid>
<p:separator />
<p:panelGrid columns="6">
<h:outputLabel value="Employees" for="employees" />
<h:selectOneMenu id="employees" value="#{empMB.employees}" converter="#{employeesConverter}">
<f:selectItems value="#{empMB.employeesItems}" var="cat"
itemLabel="#{cat.employeesName}" itemValue="#{cat.employeesCode}"/>
<p:ajax update="dept" listener="#{empMB.loadDepartments}" />
</h:selectOneMenu>
<h:outputLabel value="Dept employees" for="dept" />
<p:selectOneMenu id="dept" value="#{empMB.department}">
<f:selectItems value="#{empMB.departmentList}" var="dep"
itemLabel="#{dep.departmentName}"
itemValue="#{dep.departmentCode}" />
</p:selectOneMenu>

<p:commandButton value="Save" icon="ui-icon-check" style="margin:0"
actionListener="#{empMB.saveRequest}" />

</p:panelGrid>
<p:separator />
</h:form>
</p:dialog>

最佳答案

当您处理整个表单时,JSF 可能无法设置某些字段,例如部门或其他字段。也许类型错误,或者转换器失败。在表单中添加 p:message 并在不使用 process="@this" 的情况下更新它,您可能会看到一些内容。

关于java - commandButton actionListener 调用 selectOneMenu 监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15054465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com