springmvc基础篇—使用注解方式为前台提供数据
一、新建一个Controller
package cn.cfs.springmvc.service; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Service;
import cn.cfs.springmvc.domain.User; @Service
public class UserService {
private static Map<Integer, User> map = new HashMap<Integer, User>();
static {
User user = null;
for (int i = 1; i < 11; i++) {
user = new User();
user.setId(i);
user.setUsername("cifeng" + i);
user.setPassword("88888888");
map.put(i, user);
}
} public List<User> list() {
return new ArrayList<User>(map.values());
} }
UserService
package cn.cfs.springmvc.controller; import java.util.Map;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import cn.cfs.springmvc.service.UserService; @Controller
@RequestMapping(value={"/user"})
public class UserController {
@Resource
private UserService us; @RequestMapping(value={"/list"})
public String list(Map<String,Object> model){
//准备数据
model.put("users", us.list());
return "jUserList";
} @RequestMapping(value={"/list2"})
public String listByAttr(Model model){
//准备数据
model.addAllAttributes(us.list());
return "jUserList";
} }
UserController
二、jsp页面获取存入的对象
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!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>
<tr>
<td>id</td>
<td>name</td>
<td>password</td>
</tr>
<c:forEach items="${users }" var="u">
<tr>
<td>${u.id }</td>
<td>${u.username }</td>
<td>${u.password }</td>
</tr>
</c:forEach>
</table> </body>
</html>
注意:通过访问/user/list.action 可以得到如下页面:
但是如果通过/user/list2.action该如何取值呢?
只需要将items的值users 换成userList即可,这是一种约定,用传入的实体对象+List即可 例如我传入的是list<User> 集合 那么 实体类是user+List
<%@page import="org.apache.jasper.tagplugins.jstl.core.ForEach"%>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!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>
<tr>
<td>id</td>
<td>name</td>
<td>password</td>
</tr>
<c:forEach items="${userList }" var="u">
<tr>
<td>${u.id }</td>
<td>${u.username }</td>
<td>${u.password }</td>
</tr>
</c:forEach>
</table> </body>
</html>
/user/list2
ok,页面效果是和上面一样的。
springmvc基础篇—使用注解方式为前台提供数据的更多相关文章
- springmvc基础篇—通过注解的方式去配置项目
学习了通过xml方式去配置项目后,当然要掌握更简单更灵活的注解方式哟,这是官方推荐使用的方式. 一.修改配置文件,建议大家直接使用我的配置文件 <?xml version="1.0&q ...
- SpringMVC入门(基于注解方式实现)
---------------------siwuxie095 SpringMVC 入门(基于注解方式实现) SpringMVC ...
- SpringMVC基础配置(通过注解配置,非xml配置)
SpringMVC是什么,有多火,我这里就不再啰嗦了,SpringMVC比Struts2好用太多,我在学校的时候私下里两种都接触过,对比之后果断选择了SpringMVC,后来在做Android应用开发 ...
- springmvc基础知识及注解
SpringMVC 1.概念 Spring的MVC框架是一个基于DispatcherServlet的MVC框架,主要由DispatcherServlet.处理器映射.处理器.视图解析器.视图组成.每一 ...
- springmvc基础篇—掌握三种控制器
上一篇文章中我们讲过了处理器的映射,接下来我们来一起学习下springmvc的控制器吧. 首先咱们先创建一个咱们用来测试的实体(model)类: package cn.cfs.springmvc.do ...
- SpringMVC基础03——常用注解之@RequestMapping
1.用法 SpringMVC使用@RequestMapping注解,为控制器指定可以处理哪些URL请求,并且可以指定处理请求的类型(POST/GET),如果@RequestMapping没有指定请求的 ...
- springmvc基础篇—掌握三种处理器
随着springmvc的广泛使用,关于它的很多实用有效的功能应该更多的被大家所熟知,下面就介绍一下springmvc的三种处理器: 一.BeanName处理器(默认) <?xml version ...
- springmvc基础篇—处理图片静态资源文件
当我们在web.xml中对DispatcherServlet的过滤设置为/ 的时候,表示对所有的路径进行拦截过滤,那么不可避免的就会产生一个问题,那就是像图片这种静态资源文件我明明引用路径有,但就是加 ...
- springmvc基础篇—拆分配置文件
一般来讲,在企业实际项目中通常会将配置文件设置为两个:spring-mvc.xml.beans.xml,各自管各自的内容,方便管理. 一.在src下增加如下配置文件: <?xml version ...
随机推荐
- UVA515 King
嘟嘟嘟 题目翻译:有n个数,m个限制条件.每一个限制条件形如:1.x y gt c:表示ax + ax+1 + … +ay > c.2.x y It c:表示ax + ax+1 + …… +ay ...
- 【洛谷P3834】(模板)可持久化线段树 1(主席树)
[模板]可持久化线段树 1(主席树) https://www.luogu.org/problemnew/show/P3834 主席树支持历史查询,空间复杂度为O(nlogn),需要动态开点 本题用一个 ...
- 解决:Visual Studio 启动就报错退出
Please open an administrative CMD window and navigate to C:\Program Files (x86)\Microsoft Visual Stu ...
- Openresty最佳案例 | 第6篇:OpenResty连接Mysql
转载请标明出处: http://blog.csdn.net/forezp/article/details/78616698 本文出自方志朋的博客 centos 安装mysl Centos系统下安装my ...
- SpringBoot非官方教程 | 第一篇:构建第一个SpringBoot工程
转载请标明出处: https://www.fangzhipeng.com/springboot/2017/07/11/springboot1 本文出自方志朋的博客 简介 spring boot 它的设 ...
- 优雅的QSignleton (二) MonoSingleton单例实现
MonoSingleton.cs namespace QFramework.Example { using System.Collections; using UnityEngine; class C ...
- BigDecimal运算(加、减、乘、除)
public class BigDecimalOperation { private BigDecimalOperation(){ } public static BigDecimal add(dou ...
- django-基于中间件实现限制ip频繁访问
########django-基于中间件写一个限制频繁登陆######## 额额,标题已经很醒目了,通过中间件去实现,其他方法也可以实现 浏览器前端传来的请求,必须通过中间件,才能到后面路由,视图函数 ...
- nodejs+express开发blog(2)
npm install -g nodemon 1,把ejs文件修改为html文件 app.engine('.html', require('ejs').__express);app.set('view ...
- Nginx从搭建到配置支持HTTPS
原文地址:https://www.xingkongbj.com/blog/nginx/nginx.html 安装 基础包 ububtu apt-get install build-essential ...