首页 > 代码库 > Spring 使用JSTL标签显示后台数据

Spring 使用JSTL标签显示后台数据

1. 先上项目结构图,其中config包下的代码文件参见前一篇博客   http://www.cnblogs.com/njust-ycc/p/6123505.html

                                                                   技术分享

   引包:

                                               技术分享

 

2. 主要代码

 (1)User类

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接口

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控制器

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="http://www.mamicode.com/userInfo",method=GET)
    public String showUserInfo(Model model){
         model.addAttribute("userList",userInter.getUserInfo());
        return "userInfo";//返回视图名称
    }
   
   //使用java.util.Map类型
   @RequestMapping(value="http://www.mamicode.com/userInfo2",method=GET)
   public String showUserInfo2(Map model){
       model.put("userList", userInter.getUserInfo());        
       return "userInfo";//返回视图名称
   }
}

  Model和Map其实都是以键值对的形式存储对象,这里的存储的userList将会传到前台页面。

(5)userInfo.jsp 

<%@ 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. 测试

    技术分享

 

技术分享

 

Spring 使用JSTL标签显示后台数据