HTML Select 组件和休眠与 Spring MVC 麻烦



目前我正在使用Spring MVC和Hibernate。

我需要从表格到HTML中选择组件的一些信息,但它填充了下一个信息。

<select id="dept" name="dept" size="1">
   <option value="{id=1, name=name1}">{id=1, name=name1}</option>
   <option value="{id=2, name=name2}">{id=2, name=name2}</option>
   <option value="{id=3, name=name3}">{id=3, name=name3}</option>
   <option value="{id=4, name=name4}">{id=4, name=name4}</option>
   <option value="{id=5, name=name5}">{id=5, name=name5}</option>
</select><input type="hidden" name="_dept" value="1"/>

而不是

<select id="dept" name="dept" size="1">
   <option value=1>name1</option>
   <option value=2>name2</option>
   <option value=3>name3</option>
   <option value=4>name4</option>
   <option value=5>name5</option>
</select><input type="hidden" name="_dept" value="1"/>

但是我希望对象只用名称和 id 作为值填充。

我的 html 组件的 JSP 代码

<form:select path="dept" size="1">
    <form:options items="${departments}"/>
</form:select>

我的控制器

@RequestMapping("/dept")
public ModelAndView dept(@RequestParam int id, @RequestParam int idKey) {
    ModelAndView mav = new ModelAndView();

    mav.addObject("departments", DAO.ListCombo(-1, -1));
    mav.setViewName("User.jsp");
    return mav;
}

我的道

@SuppressWarnings("unchecked")
@Transactional
public Map<String, String> ListComboDepts(int startResult, int maxRows) throws DataAccessException {
    Query query = createNamedQuery("ComboDepts", startResult, maxRows);
    Map Data = new HashMap();
    Map<String,String> deptos = new LinkedHashMap<String,String>();
    deptos = (Map<String, String>) query.getResultList();
    return deptos;
}

感谢您的帮助。

一切看起来都很好,只需要在JSP,PFB代码片段上迭代您的记录

<select id="dept" name="dept">
<c:forEach var="department" items="${departments}">
    <option value="${department.id}">${department.name}</option>
</c:forEach>

最新更新