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="/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将会传到前台页面。

(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. 测试

时间: 2024-10-06 00:16:04

Spring 使用JSTL标签显示后台数据的相关文章

ajax请求得到后台数据,前台页面不用拼接 “字符串和HTML表格标签”,使用方便模板然后clone,显示表格

<%@page import="java.util.ArrayList"%><%@page import="java.util.List"%><%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@ taglib uri="htt

ajax请求到后台数据,前台不用拼接字符串,一样显示到页面

<%@page import="java.util.ArrayList"%><%@page import="java.util.List"%><%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@ taglib uri="htt

String强制转换为Date,freemarker标签里date数据的显示问题

String强制转换为Date,freemarker标签里date数据的显示问题 http://blog.sina.com.cn/s/blog_617f5d090101ut63.html (2014-05-16 16:44:34) 转载▼   分类: 工作 解决了两个问题 1. String强制转换为Date SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");    String dateStr = request.g

?Highmaps网页图表教程之绘图区显示标签显示数据标签定位

?Highmaps网页图表教程之绘图区显示标签显示数据标签定位 Highmaps数据标签定位 由于数据标签是和节点一一对应,所以数据标签是依据节点位置进行定位的.本节详细讲解如何对数据标签进行定位. Highmaps节点定位 在mappoint.mapbubble.mapline图表类型,节点都有明确位置.而在map图表类型中,节点对应的是一个区域.所以,map图表类型的节点中心位置就可以由用户来设定.设置时候需要使用到以下两个配置项: middleX: Number1 middleY: Num

html页面下拉列表中动态添加后台数据(格式化数据,显示出数据的层次感)

html页面下拉列表中动态添加后台数据(格式化数据,显示出数据的层次感) 效果图: 运行原理和技术: 当页面加载完毕,利用jquery向后台发送ajax请求,去后台拼接<select></select>中的option字符串.让后将字符串响应回来,动态添加到<select>中.其中的字符串中包含了后台的数据. 页面js代码: 1 <script type="text/javascript"> 2 //加载部门 3 function loa

chart接入后台数据后vue不响应式显示图片

chart接入后台数据后vue不响应式显示图片 watch: { //观察option的变化 config: { handler(newVal, oldVal) { if (this.chart) { if (newVal) { this.chart.setOption(newVal); } else { this.chart.setOption(oldVal); } } else { this.init(); } }, deep: true //对象内部属性的监听,关键. } }, 完整的ch

struts标签、OGNL表达式、JSTL标签、EL表达式

Struts标签.Ognl表达式.el表达式.jstl标签库这四者之间的关系和各自作用 我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用    Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求. Struts2的标签库有一个巨大的改进之

Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

<转载> 我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求.Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供

struts标签与jstl标签互换

近期在做struts切换spring mvc时发现代码中使用了大量的struts标签,对常用的struts标签做了总结,首先需要引入 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 1.logic:empty logic:empty标签是用来判断是否为空的.如果为空,该标签体中嵌入的内容就会被处理.该标签用于以下情况: 当Java对象为null时 当String对象为&qu