java-jsp springmvc-controller 传值到页面的方法
作者:草青工作室 发布时间:2023-06-16 18:19:52
标签:springmvc,jsp,传值,controller
借助 org.springframework.ui.Model 对象或 Map 对象将信息传到 springmvc 的页面中
需要:jstl 支持 和 EL 表达式
1.maven 添加依赖:
<!-- jstl(jsp 标准标签库) -->
;dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
;/dependency>
2.controller 中的方法
/**
*
*/
@Controller
@RequestMapping("/hello")
public class HelloController {
/**
* 请求地址:项目名/hello/userinfo
* @return
*/
@RequestMapping("userinfo")
public String userinfo(org.springframework.ui.Model model,Map<String, Object> map){
//传递单个对象
UserInfoModel info = new UserInfoModel("张三",99,"男");
model.addAttribute("info",info);
List<UserInfoModel> list = new ArrayList<UserInfoModel>();
list.add(new UserInfoModel("李四",20,"男"));
list.add(new UserInfoModel("王五",21,"女"));
list.add(new UserInfoModel("赵六",22,"男"));
//传递多个对象
map.put("user_list", list);
return "hello/userinfo"; //servlet.xml 中定义的 前缀(prefix)+返回值+后缀(suffix)拼接的物理地址
}
}
3.测试实体对象
package demo.models.hello;
import java.util.Date;
/**
*
*/
public class UserInfoModel {
public UserInfoModel(String name,int age,String sex){
this.name=name;
this.age=age;
this.sex=sex;
this.date = new Date();
}
String name;
int age;
String sex;
Date date;
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
4.jsp 页面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!-- 引入jstl core库 ,使用 循环标签-->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!-- 引入jstl fmt库,格式化时间标签 -->
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!-- 开启 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>Insert title here</title>
<script scr="/content/index.js"></script>
<link href="/content/index.css" rel="external nofollow" />
</head>
<body>
<h3>页面信息</h3>
<div>url:${pageContext.request.contextPath}</div>
<h3>用户信息</h3>
<div>name:${info.name}</div>
<div>age:${info.age}</div>
<div>sex:${info.sex}</div>
<div>date:<fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${info.date}" /></div>
<h3>用户列表</h3>
<table border="1">
<tr>
<td>name</td>
<td>age</td>
<td>sex</td>
<td>date</td>
</tr>
<c:forEach items="${user_list}" var="p">
<tr>
<td>${p.name}</td>
<td>${p.age}</td>
<td>${p.sex}</td>
<td><fmt:formatDate pattern="yyyy-MM-dd HH:mm:ss" value="${p.date}"/></td>
</tr>
</c:forEach>
<tr>
<td colspan="4" style="text-align: center;">jstl forEach</td>
</tr>
<tr>
<td>行号</td>
<td>col1</td>
<td>col2</td>
<td>col3</td>
</tr>
<c:forEach begin="1" end="5" var="i">
<tr>
<td>${i}</td>
<td>${i+2}</td>
<td>${i+3}</td>
<td>${i+4}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
来源:https://blog.csdn.net/xxj_jing/article/details/68488174


猜你喜欢
- itchat是一个开源的微信个人号接口,可以使用该库进行微信网页版中的所有操作,比如:所有好友、添加好友、拉好友群聊、微信机器人等等。详细用
- 一、mock.js的使用mock.js的使用步骤① 下载依赖 npm install mock -d(开发环境使用)② 引入到main.js
- 如何下载最新版本的MySQL?我先去MySQL首页下载最新版本的MySQL-链接:https://www.mysql.com/downloa
- 今天早上早些时候,在我的Planet Python源中,我读到了一篇有趣的文章"开发CARDIAC:纸板计算机(Developin
- Vue 中使用 jQuery 和 Bootstrap 不是特别符合 Vue 原生的写法,但是有时候又要用,所以放上我的引入设置,供大家参考。
- 我们经常会遇到数据库磁盘空间爆满的问题,或由于归档日志突增、或由于数据文件过多、大导致磁盘使用紧俏。这里主要说的场景是磁盘空间本身很大,但表
- 直接赋值: 对象的引用,也就是给对象起别名浅拷贝: 拷贝父对象,但是不会拷贝对象的内部的子对象。深拷贝: 拷贝父对象. 以及其内部的子对象在
- 错误代码如下:NotFoundError (see above for traceback): Unsuccessful TensorSli
- 1. 打开Anaconda Prompt(在命令行格式下,输入代码,建立pytorch环境、安装pytorch、测试pytorch过程)2.
- 一个转换程序,简单的把DNA序列中的A转变成T,第一种情况没有使用私有变量。#!/bin/perl#下面是一段DNA序列 $DN
- 今天碰到这个极度郁闷的报错,搞了大半下午,才发现是ie的问题,忍不住大骂。例子是这样的:页面中有多处能出发菜单,并且菜单出现在触发点的旁边,
- 具体用到了matplotlib.backends.backend_qt5agg.FigureCanvasQTAgg直接上代码(这里给出的只是
- Python中的frame是什么栈帧(frame)栈帧表示程序运行时函数调用栈中的某一帧。想要获得某个函数相关的栈帧,则必须在调用这个函数且
- 聚焦爬虫:爬取页面中指定的页面内容。编码流程:1.指定url2.发起请求3.获取响应数据4.数据解析5.持久化存储数据解析分类:1.bs42
- 在按钮旁边加文字1.打开editor/js/ 两个js文件fckeditorcode_gecko.js fckeditorcode_ie.j
- 有些时候需要动态加载javascript事件的一些方法往往我们需要在 JS 中动态添加事件,这就涉及到浏览器兼容性问题了,以下谈及的几种方法
- 特点这是分类算法贝叶斯算法的较为简单的一种,整个贝叶斯分类算法的核心就是在求解贝叶斯方程P(y|x)=[P(x|y)P(y)]/P(x)而朴
- 本文实例讲述了通过 jQuery EasyUI框架创建一个RSS阅读器,分享给大家供大家参考。具体如下:运行效果截图如下:我们将使用以下插件
- 本文实例为大家分享了vue实现下拉菜单树的具体代码,供大家参考,具体内容如下效果:使用 Vue-Treeselect 实现建议通过npm安装
- 本文实例讲述了python通过floor函数舍弃小数位的方法。分享给大家供大家参考。具体分析如下:python中可以通过math库的floo