一.页面回显

对于需要返回界面的数据,可以将后台封装好的数据回显至原始jsp界面中。

举个例子:

User.java

package com.zk.data;

public class User {
public String sname;
public String sno;
public String sid;
public String getSname() {
return sname;
}
public void setSname(String sname) {
this.sname = sname;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
}

UserCustom.java

package com.zk.data;

import java.util.HashMap;
import java.util.List;
import java.util.Map; public class UserCustom {
private User user; private List<User> userList; private Map<String,Object> usermap=new HashMap<String,Object>(); public User getUser() {
return user;
} public void setUser(User user) {
this.user = user;
} public List<User> getUserList() {
return userList;
} public void setUserList(List<User> userList) {
this.userList = userList;
} public Map<String, Object> getUsermap() {
return usermap;
} public void setUsermap(Map<String, Object> usermap) {
this.usermap = usermap;
} @Override
public String toString() {
return "UserCustom [user=" + user + "]";
} }

 SpringMVC.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd"> <context:component-scan base-package="com.zk.Controller"></context:component-scan> <!-- 配置注解处理器映射器
功能:寻找执行类Controller
-->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean> <!-- 配置注解处理器适配器
功能:调用controller方法,执行controller
-->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean> </beans>

UserController.java

package com.zk.Controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView; import com.zk.data.User;
import com.zk.data.UserCustom; @Controller//<bean id="UserController" class="UserController路径">
public class UserController {
//接受javaBean参数
@RequestMapping("list")
public String list(Model model){
List<User> userList=new ArrayList<User>();
User user1=new User();
user1.setSid("1");
user1.setSname("a");
user1.setSno("No1"); User user2=new User();
user2.setSid("2");
user2.setSname("b");
user2.setSno("No2"); User user3=new User();
user3.setSid("2");
user3.setSname("b");
user3.setSno("No3"); userList.add(user1);
userList.add(user2);
userList.add(user3); model.addAttribute("userList", userList); return "list";
}
}

list.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>回显List集合</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<h1>欢迎来SpringMVC</h1>
<table border='1'>
<tr>
<td>姓名</td>
<td>ID</td>
<td>编号</td>
</tr> <c:forEach items="${userList}" var="user">
<tr>
<td>${user.sname}</td>
<td>${user.sid}</td>
<td>${user.sno}</td>
<td><a href="${pageContext.request.contextPath }/${user.sid}.do">修改</a></td>
</tr>
</c:forEach>
</table>
</body>
</html>

  运行后结果如下:

二.URL模板映射

在上面的例子中,list.jsp页面里有行URL模板映射

 <td><a href="${pageContext.request.contextPath }/${user.sid}.do">修改</a></td>

在后台UserController.java的处理逻辑如下:

package com.zk.Controller;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView; import com.zk.data.User;
import com.zk.data.UserCustom; @Controller//<bean id="UserController" class="UserController路径">
public class UserController {
//接受javaBean参数
@RequestMapping("list")
public String list(Model model){
List<User> userList=new ArrayList<User>();
User user1=new User();
user1.setSid("1");
user1.setSname("a");
user1.setSno("No1"); User user2=new User();
user2.setSid("2");
user2.setSname("b");
user2.setSno("No2"); User user3=new User();
user3.setSid("2");
user3.setSname("b");
user3.setSno("No3"); userList.add(user1);
userList.add(user2);
userList.add(user3); model.addAttribute("userList", userList); return "list";
}
@RequestMapping("/{id}")
public String update(@PathVariable Integer id){
System.out.println(id); return "redirect:list.do";
}
}

  它将返回list.jsp界面,并输出id值。

页面回显与URL模板映射的更多相关文章

  1. Struts2 模型驱动及页面回显

    * 要从页面中获取表单元素的值,需要在动作类中声明与页面元素同名的属性.导致动作类中既有javabean又有业务方法.        * 将javabean和业务方法进行分离:        * 将重 ...

  2. 基于BootStrap的Collapse折叠(包含回显展开折叠的对应状态)

    情况描述:为了改善页面上的input框太多,采用∧∨折叠展开,这个小东西来控制,第一次做,记录一下ヾ(◍°∇°◍)ノ゙下边是Code 代码: //html代码 <div id="col ...

  3. day78_淘淘商城项目_11_单点登录系统实现 + 用户名回显 + ajax请求跨域问题详解_匠心笔记

    课程计划 1.SSO注册功能实现 2.SSO登录功能实现 3.通过token获得用户信息 4.ajax跨域请求解决方案--jsonp 1.服务接口实现   SSO系统就是解决分布式环境下登录问题的,本 ...

  4. 使用Dropzone上传图片及回显演示样例

    一.图片上传所涉及到的问题 1.HTML页面中引入这么一段代码 <div class="row"> <div class="col-md-12" ...

  5. Spring MVC 基于URL的映射规则(注解版)

    好几天没有跟进Spring MVC的学习了,之前看了点源码都忘的差不多了.这次就跟着之前的问题,继续总结下Spring MVC中的小知识. 关于SpringMVC的小demo可以参考这里! url-p ...

  6. HTML、jsp页面中radio,checkbox,select数据回显功能,默认被选中问题

    最近常常遇到各种复选框.单选框.下拉框的默认被选中的问题,开始也是绞尽脑汁的想办法,今天写一篇学习总结的博文来写一下学习总结. 单选框(radio)默认被选中: 一.jstl技术进行回显 <in ...

  7. Vue -- element-ui el-table 点击tr项页面跳转,返回后缓存回显点击项

    页面跳转反显(点击项,点击table滚动的位置,搜索条件,分页回显) 点击table tr项后,页面跳转到下级页面,返回回显搜索条件.当前页码.并将点击项select选中.滚动条也被记录回显跳转时滚动 ...

  8. JSP页面批量选择&全选操作&选择回显

    效果如下: js验证部分: 页面body部分: 附:控制器Controller中验证批量选择条件回显:

  9. JS实现单选按钮回显时页面效果出现,但选中单选框的值为空

    最近做了很多前端页面的工作,遇到的一个感觉很头疼的问题在这里记一下: 经常用JS回显单选框,但是明明从页面效果上来看,单选框已经被选中了,可是却不能触发单选框的change事件,取值的时候用某种方法取 ...

随机推荐

  1. Go String

    在 Go 语言中, 字符串是基础数据类型之一, 关键字为 string. 变量声明 字符串变量的声明如下: // 声明一个字符串类型的变量 s, 未赋予初始值时默认为零值"" va ...

  2. Linux centos7 安装 phpMyAdmin

    yum install httpd php mariadb-server –y搭建lamp运行环境之后安装phpMyAdmin遇到的一些问题记录一下 1.官网下载phpMyAdmin压缩包 wget ...

  3. 铭飞MCMS将4.6模板标签升级至4.7

    个人博客 地址:https://www.wenhaofan.com/article/20190610145529 介绍 MCMS提供的模板大多数都使用的是4.6版本的标签,但是现在MCMS最新的已经是 ...

  4. 在vue中使用elementUI饿了么框架使用el-calendar日历组件,实现自定义显示备忘录标注

    饿了么官网给的自定义例子是点击哪个日期在日期后面加个勾 而我们想要的是显示备忘录,像这样↓,日历上直接显示 这时候我们要把template里的代码改一下 <el-calendar> < ...

  5. 基于单片机的心型LED灯的设计与实现

    #include<reg51.h> #include<intrins.h> #define char unsigned char #define unit unsigned i ...

  6. BZOJ 4238: 电压 DFS树

    分类讨论一下奇环和偶环的情况. code: #include <bits/stdc++.h> #define N 200006 #define setIO(s) freopen(s&quo ...

  7. 剑指offer-面试题31-栈的压入弹出序列-栈

    #include<iostream> #include<string.h> #include<algorithm> #include<cmath> #i ...

  8. Java(一)环境的安装与配置

    一.JDK的安装 1.JDK与JRE的区别 Java开发环境,简称JDK(Java Development Kit),它是Java的核心,包括了Java编译器.Java运行环境.Java打包工具.Ja ...

  9. 二分类模型之logistic

    liner classifiers 逻辑回归用在2分类问题上居多.它是一个非线性的回归模型,其最大的好处恰恰是可以解决二元类问题,目前在金融行业,基本都是使用Logistic回归来预判一个用户是否为好 ...

  10. gulp常用插件之rev-del使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 rev-del这是一款从模块(如gulp-rev)生成的修订清单中删除旧的.未使用的指纹文件. 更多使用文档请点击访问rev-del工具官网. 安 ...