标签:就是 control springmvc 地址 page 创建 字段 员工 stand
利用SpringMVC做一个CRUD(增删改查)符合Rest风格的;
C:Create:创建
R:Retrieve:查询
U:Update:更新
D:Delete:删除
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
添加俩包,支持jstl标签(Java server pages standarded tag library,即JSP标准标签库)
员工列表:
员工添加:
员工修改:
员工删除-点击完成删除来到列表页面
增删改查的URL地址; /资源名/资源标识
/emp/1 GET:查询id为1的员工
/emp/1 PUT:更新id为1的员工
/emp/1 DELETE:删除id为1的员工
/emp POST:新增员工;
/emps GET:查询所有员工
查询所有员工----员工列表展示:访问index.jsp----直接发送/emps到控制器<jsp:forward page="/emps"></jsp:forward>------控制器查询所有员工------放在请求域中(数据传出)-----转发到list页面展示
界面1点击添加链接--控制器加model—返回界面2添加界面点击提交—控制器取model直接传参就能取
在list页面点击“”员工添加“”----控制器(查询出所有的部门信息要展示在页面)----来到添加页面(add.jsp)--------输入员工数据--------点击保存(/emp )------处理器收到员工保存请求(保存员工)--------保存完成以后还是来到列表页面;
spring表单标签:
原来我们全部通过${}取数据
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
使用spring通过 SpringMVC 的表单标签可以实现将模型数据中的属性和 HTML 表单元素相绑定,以实现表单数据更便捷编辑和表单值的回显
新标签里的属性:
path:
1)、当做原生的name项
2)、自动回显隐含模型中某个对象对应的这个属性的值
value:内部值
遍历出的对象的属性,但我们不用像之前去写遍历的标签</c:forEach>
itemLabel: 看到的名字
itemValue:内部值
特色:
1)、SpringMVC认为,表单数据中的每一项最终都是要回显的;(即返回界面会自动渲染请求域中的数据)
path指定的是一个属性;这个属性是从隐含模型(model)(请求域中取出的某个对象中的属性);path指定的每一个属性,请求域中保存的对象一定要拥有这个属性;这个对象就是请求域中的command作为key
2)、modelAttribute="":
可以告诉SpringMVC不要去找command的值了,我放了一个modelAttribute指定自定义的值;比如employee找对象用的key就用employee;
model.addAttribute("employee", new Employee());
流程同上
需求上在修改页面不加员工名字,那么从页面传回控制器的model对象employee的名字字段就为空,所以要在正式更新之前调用一下被@ModelAttribute标注的方法,该方法根据页面中存的隐藏id查一遍employee,返回employee
隐藏属性:<input type="hidden" name="id" value="${employee.id }"/>
@ModelAttribute :被该注解修饰的方法,会在每一次请求时优先执行,用于接收前台jsp页面传入的参数
与添加、修改不同的是,删除操作只过一边程序:即只走一遍Controller
<!-- 默认前端控制器是拦截所有资源(除过jsp),js文件就404了;要js文件的请求是应该交给tomcat处理的
<!-- 告诉SpringMVC,自己映射的请求就自己处理,不能处理的请求(这里的jquery.js引入)直接交给tomcat -->
加标签:
<!-- 这个标签允许静态资源能访问,但动态映射的请求就不行了(比如/emp这种常写的),有副作用 -->
<mvc:default-servlet-handler/>
再加标签
<!-- springmvc可以保证动态请求和静态请求都能访问 -->
<mvc:annotation-driven></mvc:annotation-driven>
标签:就是 control springmvc 地址 page 创建 字段 员工 stand
原文地址:https://www.cnblogs.com/yanl55555/p/11906536.html