1. 先上項目結構圖,其中config包下的代碼文件參見前一篇博客 http://www.cnblogs.com/njust-ycc/p/6123505.htmlhtml
引包:java
2. 主要代碼web
(1)User類spring
package web.entity; /** *@author 做者 Yu chenchen *@version 建立時間:2016年12月2日 下午4:53:00 *類說明: */ /** * @author YU * */ public class User { public String name; public String password; public String date; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } }
(2)UserInter接口數據庫
package web.inter; import java.util.List; import web.entity.User; /** *@author 做者 Yu chenchen *@version 建立時間:2016年12月2日 下午4:54:45 *類說明: */ public interface UserInter { //獲取用戶信息接口 public List<User> getUserInfo(); }
(3)UserImp類,實現UserInter接口tomcat
package web.imp; import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Component; import web.entity.User; import web.inter.UserInter; import web.utils.DateUtil; /** *@author 做者 Yu chenchen *@version 建立時間:2016年12月2日 下午4:56:37 *類說明: */ @Component public class UserImp implements UserInter { //模擬從數據庫中獲取數據 @Override public List<User> getUserInfo() { List<User> list=new ArrayList<User>(); for(int i=0;i<20;i++) { User user=new User(); user.setName("ycc_"+i); user.setPassword("123_"+i); user.setDate(DateUtil.getCurrentTime()); list.add(user); } return list; } }
(4)UserController控制器app
package web.controller; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import static org.springframework.web.bind.annotation.RequestMethod.*; import web.inter.UserInter; /** *@author 做者 Yu chenchen *@version 建立時間:2016年12月2日 下午5:06:20 *類說明: */ @Controller @RequestMapping("/user") public class UserController { public UserInter userInter; //自動注入userInter接口實例 @Autowired public UserController(UserInter userInter) { this.userInter = userInter; } //使用Spring的Model @RequestMapping(value="/userInfo",method=GET) public String showUserInfo(Model model){ model.addAttribute("userList",userInter.getUserInfo()); return "userInfo";//返回視圖名稱 } //使用java.util.Map類型 @RequestMapping(value="/userInfo2",method=GET) public String showUserInfo2(Map model){ model.put("userList", userInter.getUserInfo()); return "userInfo";//返回視圖名稱 } }
Model和Map其實都是以鍵值對的形式存儲對象,這裏的存儲的userList將會傳到前臺頁面。jsp
(5)userInfo.jsp ide
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!-- 屏蔽tomcat 自帶的 EL表達式 --> <%@ page isELIgnored="false" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>用戶列表</title> </head> <body> <table cellspacing="10px" cellpadding="10px" align="center" style="background-color: silver;"> <c:forEach items="${userList}" var="user"> <tr><td><c:out value="${user.name}"/></td><td><c:out value="${user.password}"/></td><td><c:out value="${user.date}"/></td></tr> </c:forEach> </table> </body> </html>
啓用JSTL:測試
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
這裏注意要屏蔽tomcat自帶的EL表達式,不然JSTL不起做用
3. 測試