標籤:
在springmvc中的controller所對應的函數中,如果需要從*.jsp頁面中擷取資料,可以自行在函數括弧中寫,springmvc會自動封裝傳過來的。
spring-mvc.xml
中加入
1 <!-- 自動掃描 -->2 <context:component-scan base-package="cn.itcast.springmvc.service,cn.itcast.springmvc.web.controller"/>3 <!-- 註解驅動 -->4 <mvc:annotation-driven/>
Controller.java 兩種形式都可以,但是第二種,jsp頁面中的參數是personList1
//列表 @RequestMapping("/listAll") public String listAll(Map<String,Object> model){ List<Person> personList = ps.listAll(); model.put("personList", personList); System.out.println(" listall hello"); return "person/jPersonList"; } //列表 @RequestMapping("/listAllOther") public String listAllOther(Model model){ List<Person> personList1 = ps.listAll(); model.addAttribute(personList1); System.out.println(" listallother1 hello"); return "person/jPersonList"; }
jsp頁面中
<%@ page language="java" pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><html> <head> <title>My JSP ‘index.jsp‘ starting page</title> </head> <body><h2>使用者列表</h2> <div style="padding:10px;"><a href="${pageContext.request.contextPath}/person/tocreate.action">新增</a></div> <table border="1"><tr> <td>photo</td> <td>id</td> <td>name</td> <td>age</td> <td>操作</td></tr><c:forEach items="${personList}" var="p"><tr> <td><img src="${pageContext.request.contextPath}"/></td> <td>${p.id}</td> <td>${p.name}</td> <td>${p.age}</td> <td> <a href="${pageContext.request.contextPath}/person/toupdate.action?id=${p.id}">修改</a> <a href="${pageContext.request.contextPath}/person/delete.action?delId=${p.id}">刪除</a> </td></tr></c:forEach></table> </body></html>
El運算式的寫法:${pageContext.request.contextPath}
jsp的寫法:<%=request.getContextPath()%>
springmvc 中controller與jsp傳值