我們使用的是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)來做到這一點?一旦我可以動態加載下拉選擇,我想我可以完成剩下的工作。
任何想法?
你想不做所有類似於Java Script的Ajax,或者沒有jQuery? – Ralph 2012-01-05 21:56:53