ユーザーにinputTextボックスに値を入力するように求めるページがあります。入力した値に基づいて、データベースからの情報を使用して日付テーブルを作成します。データテーブルの列の 1 つは selectOneRadio であるため、各行には独自のラジオ ボタンがあります。次に、ユーザーはラジオ ボタンの 1 つを選択し、コマンド ボタン (データ テーブルのフッター) をクリックして、選択されたラジオ ボタンに基づいてどの行が選択されているかを取得できる必要があります。私が抱えている問題は、ボタンをクリックしてもバッキング Bean メソッドが呼び出されないことです。この問題は、ページに移動した後にテーブルを作成したときにのみ発生します。ページの作成時にデータテーブルが存在するように値をハードコーディングすると、この問題は発生しません。私'
これはjsfです
<h:panelGrid columns="3">
<h:outputLabel for="searchByContrId" value="Company Code: " />
<h:inputText id="searchByContrId" value="#{applContAdminB.searchContrId}">
</h:inputText>
<h:commandButton type="submit" value="Search" id="submitSearch" action="#{applContAdminB.getEmployeesByContrId}" />
</h:panelGrid>
<br />
<h:outputText rendered="#{applContAdminB.contrIdEntered}" value="Current Administrator: " />
<h:outputText value="#{applContAdminB.adminName}" />
<h:dataTable id="empTable" var="loc" rendered="#{applContAdminB.contrIdEntered}" value="#{applContAdminB.employeesListModel}" binding="#{applContAdminB.htmlDataTable}">
<h:column>
<h:selectOneRadio onclick="updateRadioButtons(this);" valueChangeListener="#{applContAdminB.setSelectedRow}">
<f:selectItem itemValue="null" itemLabel="" />
</h:selectOneRadio>
</h:column>
<h:column>
<f:facet name="header">Employee Name</f:facet>
<h:outputText value="#{loc.empName}" />
</h:column>
<h:column>
<f:facet name="header">Employee Email</f:facet>
<h:outputText value="#{loc.empEmail}" />
</h:column>
<h:column>
<f:facet name="header">Status</f:facet>
<h:outputText value="#{loc.userStatus}" />
</h:column>
<f:facet name="footer">
<h:panelGrid columns="2">
<h:commandButton type="submit" id="transferRights-submit" value="Transfer Rights" action="#{applContAdminB.adjustAdminUser}" />
</h:panelGrid>
</facet>
</h:dataTable>