接着上一讲,介绍如何查询单个数据,此处介绍show()方法的实现。显示单条数据需要使用Users对象中的一个字段作为入参来进行对象查询,将查询出来的数据放在Model中,并且将model中的user对象返回前台即可。对应在controller类中的代码如下所示:
@RequestMapping(value="/{username}",method=RequestMethod.GET) public String show(@PathVariable String username,Model model) { model.addAttribute("users",users.get(username)); return "user/show"; }
在获取user对象之后,在前台页面添加一个查询条件,此处使用链接的方式访问:<a href="${um.value.username}">${um.value.username }</a>,对应在list.jsp页面中代码如下所示:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!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> <a href="add">添加</a> <c:forEach items="${users}" var="um" > <a href="${um.value.username}">${um.value.username }</a> ----${um.value.nickname } ----${um.value.password } ----${um.value.email }<br/> </c:forEach> </body> </html>
通过链接进行跳转,对应查询出的页面在得到user对象之后,显示数据show.jsp,对应代码如下所示:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form" %> <!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> </head> <body> Username:${users.username}<br/> Password:${users.password}<br/> Nickname:${users.nickname}<br/> Email:${users.email}<br/> </body> </html>
原文:http://www.cnblogs.com/birdman-oscar/p/4324871.html