「if」には論理的な問題があります。パラメータ、1 つのテキストボックス、および選択が必要です。どちらもカテゴリを挿入するためのものですが、選択はデータベースから生成され、ユーザーはカテゴリをすばやく選択できます。これがnullではなく、選択が空の場合、テキストボックスのカテゴリを挿入したいと思います。反対の場合は、select 値を使用します。両方が選択されている場合 (テキストボックス内のテキスト + 選択内の選択)、選択値を選択します。両方が空の場合は、デフォルト値「その他」を定義します。
これはコードです:
//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";
私の問題は、両方が空の場合、プログラムは最初の「if」を実行し、空のカテゴリを送信することです。
何かおかしくないですか?
ありがとうございました
ジェレミー。
Ps: 申し訳ありませんが、英語は私の主な言語ではありません。