我正在創建一個項目,我需要爲類別創建一個帶有下拉字段的表單。根據所選擇的類別,我必須填寫第二個下拉菜單,名爲subcaste。 這是我通過AJAX實現的。如何避免空指針異常?
我也寫了,這將在該類別的變化被稱爲禁用亞種姓下拉框方法,如果選擇的類別是開放的:
if(str=="OPEN"||str=="open"){
document.form.subcaste.disabled=true;
}
但是,當我點擊提交按鈕,我得到該行中的空指針異常:
subCaste = request.getParameter("subcaste");
在servlet中。 (該行從jsp頁面獲取子類的值)。
我也做了:<option value="none" selected="selected">Select</option>
在subcaste的下拉,以便選擇一個默認值。但我仍然得到一個空指針異常。我相信,在我禁用下拉框後,該值根本不可用於servlet。
的詳細的代碼是:
JSP:
<td id='category'><select name='category' onchange="showSubCaste(this.value);">
<option value="none" selected="selected">Select</option>
<% for (i = 0; i < categorySize; i++) {%>
<% category = (String) categoryArr.get(i);%>
<option value=<%= category%>><%= category%></option>
<% }%>
</select>
</td>
<td >SubCaste</td>
<td id='subcaste'> <select name='subcaste'>
<option value="none">Select</option>
</select>
</td>
JavaScript的:
function showSubCaste(str){
...
if(str=="OPEN"||str=="open"){
document.form.subcaste.disabled=true;
document.form.issuingAuthority.disabled=true;
}
else{
document.form.subcaste.disabled=false;
document.form.issuingAuthority.disabled=false;
var url="SubCasteController";
url +="?caste=" +str;
...}
在servlet檢索值並將它傳遞給另一個JSP後:
<%String buffer = "<select name='subcaste' onchange='subCasteChanged(this.value);'><option value='none' selected='selected'>Select SubCaste</option>";
for (int i = 0; i < sizeInfo; i++) {
subCaste = (String) retrievedInfo.get(i);
buffer = buffer + "<option value='" + subCaste + "'>" + subCaste + "</option>";
}
buffer = buffer + "</select>";
response.getWriter().println(buffer);
%>
我不知道如何繼續。請幫幫我。
預先感謝您。
你必須向我們展示了HTML表單和servlet代碼的周圍部分的代碼更值得我們有什麼想法。 – jfriend00