2012-01-05 48 views
0

我們使用的是spring-mvc版本2.5。我正在根據第一個下拉列表的選擇加載第二個下拉控件的概念。如果可能的話,我真的不想在jQuery中引入像jQuery這樣的東西。我很確定這是可以在jQuery之前。SPRING MVC - 在另一個下拉選項上的下拉動態人口

這裏是什麼,我試圖做一個例子:

首先,開始了與具有由員工ID的key值,員工姓名的列表中的單個下拉列表中。

然後,在從該列表中進行選擇 - 加載和顯示第二個下拉其中列出了他們的辦公室ID的

然後,最後鍵入的辦公室 - 從第二個列表中進行選擇(辦事處)並顯示提交按鈕

就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> 

我不知道如何選擇傳遞給控制器​​。顯然,需要知道選擇,以便我可以加載第二個下拉列表以及選定員工的相應數據。

我已經試過initBinder方法:

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

但Employee對象沒有找到。

使用onSubmit方法不拿起值之一:

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

這並不任一拾取所選的僱員。我對Spring很陌生,我懷疑我正在做這種動態加載。是否有可能用spring(withut jQuery)來做到這一點?一旦我可以動態加載下拉選擇,我想我可以完成剩下的工作。

任何想法?

+0

你想不做所有類似於Java Script的Ajax,或者沒有jQuery? – Ralph 2012-01-05 21:56:53

回答

0

HTML選擇標記沒有path屬性。它有一個name屬性。春季form:select具有path屬性。

使用<form:select ...>而不僅僅是<select ...>

相關問題