選択したドロップダウン・ボックスのname値と、複数選択ボックスの選択した値のコミット


シナリオ仮定:ある従業員オブジェクトを追加する場合、システム使用者の使用体験を向上させるために、新規オブジェクトを記入した後に「プレビュー」をクリックして新しいプレビューページにジャンプできます.
 
1.選択したドロップダウン・ボックスの値の発行
たとえば、従業員オブジェクトの職種属性はドロップダウン・ボックスで選択され、バックグラウンドに提出されるのは職種のtypeIdですが、プレビュー・ページには職種名が表示されます.従業員オブジェクトEmployeeVOのtypeId以外のtypeNameプロパティを設定できます.
<td nowrap="nowrap" width="15%" class="td_title">      <font color="red">*</font></td>	
<td width="35%"  nowrap="nowrap">
   <select id="lcdId"  name="employeeVO.typeId" Style="width:215px;" >
      <option value="0">    </option>
      <option value="1">xx</option>
      <option value="2">yyy</option>
      <option value="3">zzz</option>
   </select> 
</td>	

また、typeNameの値を保存するには、formフォームに配置する必要があります.
 
<s:hidden id="typeName" name="employeeVO.typeName" />

formフォームはサーバのjsにコミットされます(このjsは通常、フォームのコミット前に検証されたjsにあります):
 
form["employeeVO.typeName"].value= jQuery("select[name=employeeVO.typeId] option[selected]").text();

 
 
2.チェックボックス値のコミットについて
<s:checkboxlist name="employeeVO.hobbys" list="#Policy.hobbyList" listKey="hobbyId" listValue="hobbyname" >
</s:checkboxlist>

バックグラウンドでは「7,9,10,4」のようなhobbyId文字列が取得され、通常の処理は
 
String[] hobbyIds = employeeVO.getHobbys().split(",");

文字列配列が得られることに注意してください:[1,9,10,4]また、各配列要素は1つ目を除いて、2つ目の配列要素が「9」であるなど、前置スペースがあるので、スペースを除いてIntergerを使用することに注意してください.parseInt(hobbyIds[i].trim()の方式でhobbyIdを正しく取り出す
 
 
3.いつ使うかラベルのstatプロパティ?
eg.ループセットの下付き文字を取り出す場合:
<s:iterator value="employeeList" status="stat"  >		
     <tr >
          <td nowrap="nowrap" class=td_detail style="TEXT-ALIGN: left" >	
          <input type="radio" name="employeeList[<s:property value="#stat.index"/>].gender" value="1" checked="checked">  </input>
          </td>
      </tr> 
</s:iterator>