<p:selectOneRadio>
의 기본값을 설정하는 데 문제가 있습니다. 관련 주제를 읽었지만 문제에 대한 답을 찾을 수 없었습니다. 거기는 지금 작동하는 방법이다 : 나는() showLogEntryClassificationDlg를 사용하여, <p:commandButton>
에 클릭 후 내 백업 콩 (세션 범위가)에 값을 설정 한<p : selectOneRadio> 내부의 사전 설정 값 <p:dialog>
.
<p:commandButton value="#{text['button.add']}" id="treeAdd" styleClass="btn btn-primary" icon="fa fa-plus" actionListener="#{eventLogDetails.showLogEntryClassificationDlg()}" update=":logEntryClassificationDialogForm" oncomplete="PF('dlgLogEntryClassification').show(); return false;" />
자바
public void showLogEntryClassificationDlg(){ mode = MODE.ADD; logEntryClassification = new LogEntryClassification(); logEntryClassification.setLogEntryType(LogEntryType.LOG_ENTRY_CATEGORY); //some other code }
대화 상자가 도시되어 있지만, 라디오 버튼의 값을 선택하지 않는다. 나는 뒷받침 빈에 getter를 체크하고 정확한 값을 리턴한다. (하지만 몇 번 호출된다.) 대화 상자의 아무 곳이나 (!)를 클릭하면 라디오 버튼이 선택됩니다.
(거의) 전체 XHTML 파일 :
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html" xmlns:p="http://primefaces.org/ui" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:o="http://omnifaces.org/ui"> <ui:composition template="/layouts/default.xhtml"> <ui:define name="title">#{text['eventLogDetail.title']}</ui:define> <ui:param name="menu" value="EventLogMenu" /> <ui:define name="body"> <h:outputScript name="jsf.js" library="javax.faces" target="head" /> <h:form id="eventLogDetailsForm"> //some code <div class="row"> <div class="col-md-12"> <div class="portlet"> <h4 class="portlet-title"> <u><i class="fa fa-sitemap"> </i> #{text['eventLogDetail.heading.classification']}</u> </h4> <div class="portlet-body"> <div class="row dt-rt"> <div class="col-sm-12"> <p:panel id="treeButtonPanel" styleClass="no-style-panel"> <div class="btn-group"> <p:commandButton value="#{text['button.add']}" id="treeAdd" styleClass="btn btn-primary" icon="fa fa-plus" actionListener="#{eventLogDetails.showLogEntryClassificationDlg}" update=":logEntryClassificationDialogForm, :logEntryClassificationDialogForm:logEntryTypeRadioPanel" oncomplete="PF('dlgLogEntryClassification').show(); return false;" /> //other commandButtons </div> </p:panel> </div> </div> </div> </div> </div> </div> </h:form> <!-- dialogs --> <p:dialog header="#{text['logEntry.logEntryClassification.add.title']}" widgetVar="dlgLogEntryClassification" appendTo="@(body)" modal="true" dynamic="true" height="300" resizable="false" styleClass="custom-popup-xs" id="logEntryClassificationDialog"> <h:form id="logEntryClassificationDialogForm"> <o:resourceInclude path="/common/messages.jsp" /> <div class="row"> <div class="col-sm-12 form-group"> <p:panel id="logEntryTypeRadioPanel" styleClass="no-style-panel"> <p:selectOneRadio id="logEntryTypeRadio" value="#{eventLogDetails.logEntryClassification.logEntryType}" converter="LogEntryTypeConverter"> <f:selectItem itemLabel="Kategoria zdarzeń" itemValue="LOG_ENTRY_CATEGORY" /> <f:selectItem itemLabel="Rodzaj zdarzenia" itemValue="LOG_ENTRY_TYPE" /> </p:selectOneRadio> </p:panel> </div> </div> //some code </h:form> </p:dialog> </ui:define> </ui:composition> </html>
나는 <p:panel>
내부 <p:selectOneRadio>
을 넣어 :logEntryClassificationDialogForm:logEntryTypeRadioPanel
를 업데이트하려고했으나 결과는 동일했습니다.
EDIT : 나는 뭔가를 테스트했는데 아마도 어떤 종류의 프라임 스 페이스 버그 일 것입니다 : 첫 번째 항목이 선택되도록 설정할 때만 작동하지 않습니다. 처음에 항목을 하나 더 추가 한 후에 항목이 선택됩니다 (아래 그림 참조). 이견있는 사람?
<f:selectItem itemLabel="Rodzaj zdarzenia" itemValue="LOG_ENTRY_TYPE" />
<f:selectItem itemLabel="Kategoria zdarzeń" itemValue="LOG_ENTRY_CATEGORY" />
<f:selectItem itemLabel="Rodzaj zdarzenia" itemValue="LOG_ENTRY_TYPE" />
그것은 <h:selectOneRadio>
와 함께 작동,하지만 난 <f:selectOneRadio>