こんにちは、データベースからフェッチされ、JSP にロードされたチェックボックスの値を更新したいと思います。従業員プロフィールを作成しています。Jsp には、従業員名、従業員の住所、従業員の技術スキルのフィールドがあります。Employee Skills には、次の値を選択するための次のチェックボックスがあります。
Checkbox1: Java Checkbox2: ドットネット
従業員 X の場合、計算スキル Java とデータベースのドット ネットの両方を持っていません。データベースから JSP にレコードをフェッチできます。
アクション クラスでは、データベースから値をフェッチし、それらを 2 つのゲッターとセッターを持つ EmployeeForm に設定しています。setattribute を使用して、これらの値をリクエストで設定しています。
EmployeeUpdate.jsp では、次のことを行っています
String skillsValue1=(String)request.getAttribute("C/C++");
String skillsValue2=(String)request.getAttribute("Java");
<%if(skillsValue1!=null){ %>
<html:checkbox property="ComputationalSkill1" value="C/C++"/>
<%}else{ %>
<html:checkbox property="ComputationalSkill1" value=" "/>
<%}%>
</td>
<%if(skillsValue2!=null){ %>
<html:checkbox property="ComputationalSkill2" value="Java"/>
<%}else{ %>
<html:checkbox property="ComputationalSkill2" value=" "/>
<%}%>
</td>
次のコードは、上記のスキルのいずれかを持つ従業員とスキルを持たない従業員のチェックボックスを完全に表示します。
ここで次の問題が発生しています
- 以前にチェックしたフィールドの値をオフにすると、値は Bean で完全に null に設定されます。しかし、以前にチェックされなかったフィールドの値をチェックすると(フィールドのいずれかを更新するために)、特定のプロパティのBeanに値が設定されておらず、nullもありません。
チェックボックスの変更された値を取得する方法を誰かに教えてもらえますか。つまり、状態をチェック解除からチェック状態に変更すると、プロパティに値を設定する必要があります。