今天寫基於SSM框架的程序,用到了<form:select>。因爲一開始遇到了問題,因此在這裏加以記錄,供之後查看。html
直接看jsp頁面的代碼java
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 5 <html> 6 <head> 7 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 8 <title>Insert title here</title> 9 </head> 10 <body> 11 <form:form method="post" modelAttribute="employee"> 12 姓名:<form:input path="lastName"/><br> 13 郵箱:<form:input path="email"/><br> 14 性別:<form:input path="gender"/><br> 15 部門:<form:select path="department" items="${departments}" itemValue="id" itemLabel="departmentName"></form:select> 16 </form:form> 17 </body> 18 </html>
1.因爲咱們要引用Spring封裝的form標籤,因此一開始要配置引用標籤:spring
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
2.對於app
<form:form method="post" modelAttribute="employee">
其modelAttribute="employee"中的employee是 在controller層中跳轉到該頁面的方法中 綁定的對象。 即:框架
@RequestMapping("/add") public ModelAndView toAddPage(){ ModelAndView mView=new ModelAndView(); mView.addObject("employee",new Employee()); mView.setViewName("add-stu"); mView.addObject("departments", departmentDao.getDepartments()); return mView; }
3對於jsp
部門:<form:select path="department.id" items="${departments}" itemValue="id" itemLabel="departmentName"></form:select>
path="department" 爲後續提取本方法中的對象預留了接口(相似於<input type="text" name="email">中的name)post
items="${departments}" 表示你要遍歷的列表ui
itemValue="id" 表示列表選項中的value屬性(當對下拉列表作出選擇時後臺傳遞的數據)【可能有些偏頗,歡迎指教】spa
itemLabel="departmentName" 表示頁面列表中現實的屬性值code
實現結果:
查看頁面源碼: