기본 라디오 선택을 변경하려고 할 때 h : selectOneRadio 및 문제가있는 Im 사용. 다음은 JSF 코드 아래기본 라디오 선택을 변경하는 JSF 문제
<h:selectOneRadio id="radioSelectID1" layout="pageDirection" value="#{scheduleBean.selectedRecurrenceValue}" immediate="true" >
<f:selectItem id="dailyID" itemLabel="#{adminBean.adminScreenLabelVO.dailyLabel}" itemValue="#{scheduleBean.dailyValue}"></f:selectItem>
<f:selectItem id="weeklyID" itemLabel="#{adminBean.adminScreenLabelVO.weeklyLabel}" itemValue="#{scheduleBean.weeklyValue}"></f:selectItem>
<f:selectItem id="monthlyID" itemLabel="#{adminBean.adminScreenLabelVO.monthlyLabel}" itemValue="#{scheduleBean.monthlyValue}"></f:selectItem>
<f:ajax event="change" listener="#{scheduleBean.recurrenceChange}" render="recurrencePanelID" />
</h:selectOneRadio>
내가 radioselection 옵션을 변경하려고 할 때 문제가 발생 selectedRecurrenceValue
public String getSelectedRecurrenceValue() {
if(selectedRecurrenceValue == null)
{
selectedRecurrenceValue = adminScheduledetailsVO.getFrequency();
if(selectedRecurrenceValue.equalsIgnoreCase(dailyValue))
{
dailyPanelRenderer = true ;
}
if(selectedRecurrenceValue.equalsIgnoreCase(weeklyValue))
{
dailyPanelRenderer = false ;
weeklyPanelRenderer = true ;
}
if(selectedRecurrenceValue.equalsIgnoreCase(monthlyValue))
{
monthlyPanelRenderer = true ;
}
}
return selectedRecurrenceValue;
}
에 대한 backingbean 코드입니다. Im은 동적으로 가져 오기 때문에 selectedRecurrenceValue 값을 초기화 할 수 없습니다. 다른 라디오 버튼을 선택하려고 할 때, Im은 selectedRecurrenceValue에 대한 널 포인터 예외를 수신합니다. 문제를 해결할 수있는 조언이 있으면 도움이 될 것입니다. 사전에 감사드립니다. NPE를 방지하기 전에 초기화 할
다음<h:selectOneRadio id="radioSelectID1"
layout="pageDirection"
value="#{scheduleBean.adminScheduledetailsVO.frequency}" >
물론 adminScheduledetailsVO
요구 : 나는 당신의 질문을 읽으면
NPE는 어디에서 발생합니까? selectedRecurrenceValue에 대한 setter에서? 질문에 setter 메서드를 추가 할 수 있습니까? –
안녕하세요 매트, 나는 setter 메서드를 이미 추가하고 새로운 옵션을 선택하려고 할 때 코드를 디버깅하려고했습니다. 새로운 옵션을 선택할 때 컨트롤은 selectedRecurrenceValue의 getter 메서드로 직접오고 NPE는 @electRecurrenceValue = adminScheduledetailsVO.getFrequency();가 발생합니다. adminScheduledetailsVO가 null 인 것 같습니다. 내가 선택한 새로운 옵션이 설정되지 않은 것 같습니다. 이유를 모르십니까? – vr3w3c9