我對「if」有個邏輯問題。我必須參數,一個文本框和一個選擇。兩者都是插入類別,但select是從數據庫生成的,並允許用戶快速選擇一個類別。我想插入文本框的類別,如果這個不是空的,並且select是空的。如果它是相反的使用選擇值。如果兩者都選擇(文本框中的文本+選擇中的選擇),則選擇選擇值。在兩者都爲空的情況下,我將定義默認值「其他」。java-ee中if語句的邏輯問題
這是代碼:
//addRss.jsp
<select name="catOption">
<option value="">select category</option>
<c:forEach var="cat" items="${categories}">
<option value="${cat}">${cat}</option>
</select>
<label for="category">Category</label>
<input type="text" id="category" name="category" value="" size="20" maxlength="20" />
//AddNewRss
String catText = request.getParameter("category");
String catOption = request.getParameter("catOption");
String category = "";
if((catOption != null || !catOption.trim().isEmpty()) && (catText == null || catText.trim().isEmpty()))
category = catOption;
else if((catOption == null || catOption.trim().isEmpty()) && (catText != null || !catText.trim().isEmpty()))
category = catText;
else if((catOption != null || !catOption.trim().isEmpty()) && (catText != null || !catText.trim().isEmpty()))
category = catOption;
else
category = "Other";
我的問題是,在這兩個空的情況下,程序會做第一個「如果」和發送空類別。
你看到有什麼問題嗎?
謝謝
傑里米。
Ps:抱歉,英語不是我的主要語言。
'如果((catOption = NULL ||' - >'如果((catOption = NULL &&' – Maroun
第一個if catOption!= null ||!catOption.trim()。isEmpty()'不會做出反應,如果你的catOption實際上是null,你將會得到一個NullPointerException –