2012-01-05 4 views
0

spring-mvcバージョン2.5を使用しています。私は最初のドロップダウンの選択に基づいて2番目のドロップダウンコントロールを読み込むというコンセプトに苦労しています。 jQueryのようなものを現時点でプロジェクトに導入する必要はありません。私はこれがjQueryの前にできると確信しています。SPRING MVC - 別のドロップダウン選択時のドロップダウンの動的集計

まず、従業員IDの従業員をキー名のリストを持っている、単一のドロップダウンリストでオフを開始:ここで

は私がしようとしているものの一例です。このリストから選択して時に続いて

、 - 最後に、その後、彼らはオフィスのidの

をキーとしている事業所の一覧を示している2番目のドロップダウンをアップロードし、表示する - 第二のリスト(オフィス)からの選択を行います送信ボタンを表示する

jspコードの点では、私は最初から問題に遭遇します。ドロップダウンに変更があった場合、フォームをコントローラに送信できません。 onChangeイベントをタグで使用することはできません。私は(下)これを使用している場合は、選択範囲の値がコントローラに渡されていません。

<select path='employee' onChange="submit();"> 
    <option value="${selected}" selected>${selected}</option> 
     <c:forEach items="${employees}" var="currentEmployee"> 
      <c:if test="${currentEmployee!= selected}"> 
       <option   value="${currentEmployee.employeeId}">${currentEmployee.employeeName}</option> 
      </c:if> 
     </c:forEach> 
</select> 

</form:form> 

私はコントローラに選択を渡す方法は考えています。明らかに、選択を知る必要があるので、選択した従業員の対応するデータで2番目のドロップダウンを読み込むことができます。

私はinitBinder方法試してみた:

protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception { 
    binder.setDisallowedFields(new String[] {"employees"}); 
    Employee employee = (Employee)binder.getTarget(); 

をしかし、従業員オブジェクトが見つかりません。

をonSubmitメソッドは、いずれかの値をピックアップしていません:

public ModelAndView onSubmit(Object command) throws ServletException 
{ 
    String selectedEmployee = ((Employee) command).getName(); 
    logger.info("The Selected Employee is: " + selectedEmployee); 

これはどちらか選択した従業員をピックアップしていません。私は春にはとても慣れています。これを春(withut jQuery)で行うことは可能ですか?いったんドロップダウンの選択肢を動的にロードすることができたら、残りの部分を処理することができます。

アイデア?

+0

あなたはJava ScriptのようなAjaxのすべての種類なしで、あるいはjQueryなしでそれをしたいですか? – Ralph

答えて

0

HTML選択タグにはpath属性がありません。それはname属性を持っています。 form:selectにはpathという属性があります。

<form:select ...>だけでなく、<select ...>を使用してください。

関連する問題