當我嘗試更改默認無線電選擇時,使用h:selectOneRadio並出現問題。下面是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>
下面
針對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代碼時,我試圖改變radioselection選項,就會出現問題。我無法初始化值selectedRecurrenceValue,因爲我動態獲取它。當我嘗試選擇另一個單選按鈕時,Im收到selectedRecurrenceValue的空指針異常。 任何解決問題的指針都會非常有用。感謝您的提前。
NPE在哪裏發生?在setter中爲selectedRecurrenceValue?你可以在你的問題中添加setter方法嗎? –
嗨馬特,我已經添加了setter方法,並試圖調試代碼以及當我嘗試選擇一個新的選項。會發生的是,在選擇新選項時,控件直接進入selectedRecurrenceValue的getter方法,並且NPE發生@ selectedRecurrenceValue = adminScheduledetailsVO.getFrequency();. adminScheduledetailsVO似乎爲空。看起來像我選擇的新選項沒有設置。不知道爲什麼? – vr3w3c9