日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringMVC-RestfulCRUD

發布時間:2025/3/8 javascript 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringMVC-RestfulCRUD 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 回顧helloword基本配置
    • 員工列表展示
    • 添加
    • 修改
    • 刪除

回顧helloword基本配置

web.xml

<!-- The front controller of this Spring Web application, responsible for handling all application requests --><servlet><servlet-name>SpringMVC_crud</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><!-- Map all requests to the DispatcherServlet for handling --><servlet-mapping><servlet-name>SpringMVC_crud</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!-- 配置一個字符編碼的filter --><filter><filter-name>CharacterEncodingFilter</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><!-- encoding:指定解決POST請求亂碼 --><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><!-- forceEncoding:順手解決響應亂碼 --> <init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>CharacterEncodingFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 支持Rest風格轉換的filter --><filter><filter-name>HiddenHttpMethodFilter</filter-name><filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class></filter><filter-mapping><filter-name>HiddenHttpMethodFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

xxxx-sevlet.xml

<!-- 掃描所有組件 --> <context:component-scan base-package="com.jh"></context:component-scan><!-- 配置視圖解析器,拼接頁面 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/pages/"></property><property name="suffix" value=".jsp"></property> </bean> @Controller public class helloController {@RequestMapping("/hello")public String hello(){return "success";} }

員工列表展示

訪問index.jsp---->直接發送/emps---->控制器查詢所有員工---->放在請求域中---->轉發到list頁面展示

@Controller public class EmployeeController {@AutowiredEmployeeDao employeeDao;/** 查詢所有員工*/@RequestMapping("/emps")public String getEmps(Model model){Collection<Employee> all = employeeDao.getAll();model.addAttribute("emps", all);return "list";}

index.jsp

<!-- 訪問項目就要展示員工列表頁面 --> <jsp:forward page="/emps"></jsp:forward>

list.jsp

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><title>員工列表</title> </head> <body> <h1>員工列表頁面</h1> <table border="1" cellpadding="5px" cellspacing="0"><tr><td>ID</td><th>lastName</th><th>email</th><th>gender</th><th>departmentName</th><th>edit</th><th>delete</th></tr><c:forEach items="${emps }" var="emp"><tr><td>${emp.id }</td><td>${emp.lastName }</td><td>${emp.email }</td><td>${emp.gender==0?"女":"男" }</td><td>${emp.department.departmentName }</td><td>edit</td><td>delete</td></tr></c:forEach> </table> </body>

添加

1、list.jsp點擊“員工添加”---->2、查詢出所有的部門信息要展示在頁面---->3、來到add.jsp---->4、輸入員工數據---->5、點擊保存---->6、處理器收到員工保存請求(保存員工)---->7、保存完成后來到list.jsp

/** 去員工添加頁面,去之前查出所有部門信息進行展示*/@RequestMapping("/toaddpage")public String toAddPage(Model model){//1.查出所有部門Collection<Department> departments = departmentDao.getDepartments();//2.放在請求域中model.addAttribute("depts", departments);model.addAttribute("employee", new Employee());//3.去添加頁面return "add";}

list.jsp

<a href="toaddpage">添加員工</a>

add.jsp

<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %><h1>員工添加</h1> <!-- 表單標簽 通過springMVC的表單標簽可以實現將模型數據中的屬性和HTML表單元素綁定, 以實現表單數據更便捷編輯和表單值的回顯 1SpringMVC認為,表單數據中的每一項最終都是要回顯的path指定的是一個屬性,這個屬性是從隱含模型(請求域中取出的某個對象的屬性);path指定的每一個屬性,請求域中必須有一個對象,擁有這個屬性;這個對象就是請求域中的command;modelAttribute=""1)、以前我們變淡標簽會從請求域中獲取一個command對象;把這個對象中的每一個屬性對應的顯示出來2)、可以告訴springmvc不要去取command的值,我放了一個modelAttribute指定的值去對象用的key就用我modelAttribute指定的--><form:form action="" modelAttribute="employee">lastName:<form:input path="lastName"/><br>email:<form:input path="email"/><br>gender:<br>男:<form:radiobutton path="gender" value="1"/><br>女:<form:radiobutton path="gender" value="0"/><br>dept:<!-- items="",指定要遍歷的集合,自動遍歷,遍歷出的每一個元素都是一個department對象itemLabel="屬性",指定遍歷出的這個對象的哪個屬性時作為option標簽體的值itemValue="屬性名",指定剛才遍歷出來的這個對象的哪個屬性時作為要提交的value值--><form:select path="department.id" items="${depts }" itemLabel="departmentName" itemValue="id"></form:select><br><input type="submit" value="保存"></form:form>

聯系

5、點擊保存

/** 保存員工*/ @RequestMapping(value="/emp",method=RequestMethod.POST)public String addEmp(Employee employee){System.out.println("要添加的員工;"+employee);employeeDao.save(employee);return "redirect:/emps";}

add.jsp

<!-- 絕對路徑 --><%pageContext.setAttribute("ctp", request.getContextPath());%><form:form action="${ctp }/emp" modelAttribute="employee" method="POST">

聯系:

運行結果

修改

/** 修改*/@RequestMapping(value="/emp/{id}",method=RequestMethod.PUT)public String updateEmp(@ModelAttribute("employee")Employee employee){System.out.println("要修改的員工"+employee);//更新保存二合一employeeDao.save(employee);return "redirect:/emps";}/** 提前查詢員工*/@ModelAttributepublic void myModelAttribute(@RequestParam(value="id",required=false)Integer id,Model model){if(id!=null){Employee employee = employeeDao.get(id);model.addAttribute("employee", employee);}}

list.jsp
為edit加鏈接

<%pageContext.setAttribute("ctp", request.getContextPath());%><td><a href="${ctp }/emp/${emp.id }">edit</a></td><td>delete</td></tr></c:forEach> </table> <a href="${ctp }/toaddpage">添加員工</a>

edit.jsp

<%pageContext.setAttribute("ctp", request.getContextPath());%> <h1>員工修改頁面</h1> <form:form action="${ctp }/emp/${employee.id }" modelAttribute="employee" method="post"><input type="hidden" name="_method" value="put"><input type="hidden" name="id" value="${employee.id }">email:<form:input path="email"/>gender:&nbsp;&nbsp;&nbsp;男:<form:radiobutton path="gender" value="1"/>&nbsp;&nbsp;&nbsp;女:<form:radiobutton path="gender" value="0"/><br>dept:<form:select path="department.id" items="${depts }"itemLabel="departmentName" itemValue="id"></form:select><br><input type="submit" value="修改"> </form:form>

刪除

/** 刪除*/ @RequestMapping(value="/emp/{id}",method=RequestMethod.DELETE) public String deleteEmp(@PathVariable("id")Integer id){employeeDao.delete(id);return "redirect:/emps"; }

list.jsp

<td><form action="${ctp }/emp/${emp.id }" method="post"><input type="hidden" name="_method" value="DELETE"><input type="submit" value="刪除"></form> </td>

總結

以上是生活随笔為你收集整理的SpringMVC-RestfulCRUD的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色婷婷亚洲| 午夜精品在线播放 | 亚洲成人黄色小说 | 天天综合人人 | 欧美丰满美乳xxⅹ高潮www | 狠狠干2018 | 日韩精品三级 | 色婷婷av一区 | а√天堂8资源中文在线 | 久久午夜视频 | 久久久久99精品成人片我成大片 | 亚洲免费成人网 | 性久久久久久 | 无码无遮挡又大又爽又黄的视频 | 亚洲爱爱片| 狠狠爱成人 | 粉嫩av.com| 精品人妻伦一二三区久 | 国产一区日韩精品 | 蜜桃视频久久一区免费观看入口 | 色香蕉在线视频 | 久久99精品久久久久久三级 | 亚洲人在线观看视频 | 一级黄色录像大片 | 91精品国产成人 | 精品黄色 | 三级黄色小视频 | 激情九九 | 成人免费va视频 | 国产亚洲精久久久久久无码77777 | 精射女上司 | 一本色道久久88综合日韩精品 | 国产精品成人久久久久久久 | 日韩在线观看免费高清 | 久久久久久久中文字幕 | 日日夜精品 | 精品国产伦一区二区三区免费 | 熟妇人妻系列aⅴ无码专区友真希 | 日韩少妇激情 | 日韩专区一区二区三区 | 久久久亚洲av波多野结衣 | 亚洲永久无码精品一区二区 | 日韩精品免费视频 | 蜜臀av一区二区三区有限公司 | 中文字幕av一区二区三区人妻少妇 | 国语对白真实视频播放 | 午夜小视频在线观看 | 欧美视频在线观看一区二区 | 亚欧洲精品视频 | 国产a一级片 | 国产精品久久在线观看 | 欧美日韩精品一二三区 | 99精品偷自拍| 青青草国产精品视频 | 啪啪免费视频网站 | 久久黄色一级片 | 久久精选 | 国产黄色片免费在线观看 | 日韩欧美在线观看免费 | www.日韩欧美 | 99嫩草| 欧美一区二区三区四区在线观看 | 日韩av一级片 | 91麻豆精品视频 | 中文字幕观看av | 亚洲欧美偷拍一区 | 亲子乱一区二区三区 | 国产精品国产三级国产专播精品人 | 国产日韩在线一区 | 国产又大又粗又爽的毛片 | 视频在线观看一区二区三区 | 亚洲综合涩| 日韩少妇裸体做爰视频 | 免费看裸体网站 | 2019中文字幕在线 | 99精品视频在线看 | 欧美激情一区二区三级高清视频 | 久久高清免费视频 | 亚洲特黄一级片 | 老头把女人躁得呻吟 | 中国一级黄色 | 亚洲熟女少妇一区二区 | 国产亚洲视频一区 | 色葡萄影院 | 日韩精品观看 | 草逼视频网 | 波多野结衣一区二区三区高清 | 成人在线国产 | 亚洲av无码片一区二区三区 | 国产无遮挡一区二区三区毛片日本 | 成人a级大片 | 玉米地疯狂的吸允她的奶视频 | 男生操女生免费网站 | 免费色片网站 | 人人干人人干人人干 | 图书馆的女友动漫在线观看 | 爱看av在线 | 乱色精品无码一区二区国产盗 | 亚洲天堂一区在线观看 |