需求
- 根据按钮点击修改之后,跳转修改页面,且回显原邮箱信息.
- 点击保存,更改邮箱信息.
分析
- jsp
- 点击之后携带id跳转到回显的servlet
- 修改jsp,点击保存,请求更新servlet
- servlet
- 回显servlet
- 设置响应编码
- 取到页面id
- 根据id调用service的findByIdEmail(id)方法,返回email对象
- 将email存入request域,跳转到updateEmail.jsp页面
- 更新servlet
- 设置请求编码
- 获取页面所有值,封装为map
- 封装对象,调用BeanUtils.populate
- 调用service的updateByIdEmail(email)方法
- 重定向到show页面
- 回显servlet
- service
- 回显
将id转为int型
调用dao的findByIdEmail(id)方法,返回Email对象 - 更新
调用dao的updateEmail(email)方法
- 回显
- dao
- 回显
定义SQL
调用template.queryForObject方法,返回Email对象 - 更新
定义SQL
调用template.update方法
- 回显
代码实现
jsp页面
<a href="#">
<span class="glyphicon glyphicon-edit" οnclick="updateEmail(${email.id})"></span>
</a>
//更新一条记录,获取id
function updateEmail(id){
location.href="${pageContext.request.contextPath}/email/showByIdEmail?id="+id;
}
updateEmail页面
<!doctype html>
<%@ page contentType="text/html;charset=utf-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
<title>修改邮箱信息</title>
<!-- Bootstrap -->
<link rel="stylesheet" href="${pageContext.request.contextPath}/css/bootstrap.min.css" >
<style>
. {
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<!--导航条-->
<div style="margin-bottom: -30px;">
<nav class="navbar navbar-inverse" >
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">行情来了管理系统</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li ><a href="#">会员管理 <span class="sr-only">(current)</span></a></li>
<li class="active"><a href="#"&