
持续学习&持续更新中…
学习态度:守破离
Javascript_jQuery_Bootstrap
- 整合该项目的添加客户和更新客户数据业务
- 为什么要整合这两个业务
- 实现
- CustomerServlet
- list.jsp
- save.jsp
- 修改之后的项目结构图
- Javascript
- 为什么需要Javascript
- 什么是Javascript
- JS常见用途
- JS参考资料
- JS编码规范
- JS——基本知识
- script标签
- JS基础语法
- typeof运算符
- JS——数据类型
- 数字类型
- 字符串
- 没有字符类型
- 三种引号
- 拼接
- 遍历
- 数组的遍历
- 对象的遍历
- JS——函数
- 函数的常见用法
- 监听标签的点击事件
- JS——DOM *** 作
- jQuery
- 什么是jQuery
- jQuery如何使用
- jQuery的强大之处
- 绑定点击事件
- jQuery的一些细节
- 基于jQuery的几个插件
- jQuery-UI的一个demo
- jQuery Validation的一个demo
- Bootstrap
- 栅格系统例子:
- Bootstrap js的引入
- 参考
该项目的edit.jsp和save.html中的内容结构大体相似,只有几处略微不同的地方。
CustomerServlet代码中这两处业务也有很多相似之处。
实现 CustomerServlet只留一个save方法,统一处理添加客户和更新客户数据 *** 作。
@WebServlet("/customer/*")
public class CustomerServlet extends HttpServlet {
private CustomerDao customerDao;
@Override
public void init() {
customerDao = new CustomerDao();
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
request.setCharacterEncoding("utf-8");
final String[] split = request.getRequestURI().split("/");
final String methodName = split[split.length - 1];
try {
Method method = CustomerServlet.class.getMethod(methodName, HttpServletRequest.class, HttpServletResponse.class);
method.invoke(this, request, response);
} catch (Exception e) {
try {
Method method = CustomerServlet.class.getMethod("error", String.class, HttpServletRequest.class, HttpServletResponse.class);
method.invoke(this, "不存在该页面", request, response);
} catch (Exception exception) {
exception.printStackTrace();
}
e.printStackTrace();
}
}
public void list(HttpServletRequest request, HttpServletResponse response) {
try {
final List list = customerDao.list();
request.setAttribute("customerSize", list.size());
request.setAttribute("customers", list);
request.getRequestDispatcher("../pages/list.jsp").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
public void save(HttpServletRequest request, HttpServletResponse response) {
try {
Customer customer = newCustomer(request);
if (null != customer) {
if (customer.getId() != null) {
// update
if (customerDao.update(customer)) {
response.sendRedirect("/eight_javascript/customer/list");
} else {
error("数据更新失败", request, response);
}
} else {
// save
if (customerDao.save(customer)) {
response.sendRedirect("/eight_javascript/customer/list");
} else {
error("客户添加失败", request, response);
}
}
} else {
error("用户非法输入", request, response);
}
} catch (Exception e) {
error("数据保存失败", request, response);
e.printStackTrace();
}
}
public void edit(HttpServletRequest request, HttpServletResponse response) {
try {
String customerId = request.getParameter("id");
if (customerId != null && !"".equals(customerId)) {
final Integer id = Integer.valueOf(customerId);
final Customer customer = customerDao.edit(id);
try {
request.setAttribute("customer", customer);
request.getRequestDispatcher("../pages/save.jsp").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
error("数据编辑失败", request, response);
}
}
} catch (Exception e) {
error("数据编辑失败", request, response);
e.printStackTrace();
}
}
public void remove(HttpServletRequest request, HttpServletResponse response) {
try {
String customerId = request.getParameter("id");
if (customerId != null && !"".equals(customerId)) {
final Integer id = Integer.valueOf(customerId);
if (customerDao.remove(id)) {
response.sendRedirect("/eight_javascript/customer/list");
} else {
error("数据删除失败", request, response);
}
}
} catch (Exception e) {
error("数据删除失败", request, response);
e.printStackTrace();
}
}
private void error(String error, HttpServletRequest request, HttpServletResponse response) {
try {
request.setAttribute("error", error);
request.getRequestDispatcher("../pages/error.jsp").forward(request, response);
} catch (Exception e) {
e.printStackTrace();
}
}
private Customer newCustomer(HttpServletRequest request) {
String customerName = request.getParameter("customer_name");
String customerAge = request.getParameter("customer_age");
String customerHeight = request.getParameter("customer_height");
String customerId = request.getParameter("customer_id");
if (
customerName != null && customerAge != null && customerHeight != null &&
!"".equals(customerName) && !"".equals(customerAge) && !"".equals(customerHeight)
) {
Customer customer = new Customer(
customerName, Integer.valueOf(customerAge), Double.valueOf(customerHeight)
);
if (customerId != null && !customerId.equals("")) {
customer.setId(Integer.valueOf(customerId));
}
return customer;
}
return null;
}
}
list.jsp
修改a标签让其直接跳转到save.jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
list
总共有${customerSize}个客户
姓名
年龄
身高
${customer.name}
${customer.age}
${customer.height}
编辑
删除
添加客户
save.jsp
使用JSTL和EL表达式来重构该页面,使得无论是更新客户数据还是添加客户,都使用该页面。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
add-customer
edit-customer
微信扫一扫
支付宝扫一扫
评论列表(0条)