使ç¨å¸¦æ注éåJQueryçSpring MVC 3çAjax
让æ们çç示ä¾çè¦æ±æ¯ä»ä¹ï¼Spring MVC 3 Ajaxå·¥å
·å°å¦ä½æ»¡è¶³å®ï¼
å¨æ们ç示ä¾ä¸ï¼æ们å°ååºå§ååå¦åæé«çå¦çï¼å¹¶å°å
¶åéå°å®ç½®åå
¬å®¤ï¼ä»¥ä¾¿å¦çè·å¾æºä¼ã æ们å°å¨çº¿åå¦çæä¾âæ·»å å¦çè¡¨æ ¼âï¼ä»¥ä¾¿ä»ä»¬å¯ä»¥å¨çº¿æ交å§å并注åã ç±äºå¾å¤å¦çé½ä¼ä½¿ç¨è¯¥ç³»ç»ï¼å æ¤ç³»ç»çæ§è½å¯è½ä¼é常ä½ã 为äºæé«Webåºç¨ç¨åºçæ§è½ï¼æ们å°ç»å使ç¨AjaxåSpring MVC 3 FrameworkåJQueryã
æ们å¿
é¡»æ§è¡ä»¥ä¸æ¥éª¤æ¥å®ç°æ们ç示ä¾ï¼
- é¦å ï¼æ们å°å建ä¸ä¸ªå å«å¦çä¿¡æ¯å¼çåç±»ï¼User.javaï¼ã
- ä¹åï¼æ们å°å建æ§å¶å¨ç±»ï¼UserListController.javaï¼ä»¥å¤çHTTP请æ±ã æ们çæ§å¶å¨å°å¤çä¸ç§ç±»åç请æ±ã é¦å ï¼æ¾ç¤ºâæ·»å å¦çè¡¨æ ¼âï¼å ¶æ¬¡å¤çæ¥èªâæ·»å å¦çè¡¨æ ¼âçAjax请æ±ï¼å¹¶å°å¦çæ·»å å°å表ä¸ï¼ç¬¬ä¸æ¬¡æ¾ç¤ºå¦çä¿¡æ¯ä½ä¸ºå表ã
- ç¶åï¼æ们å°å建ä¸ä¸ªjsp页é¢ï¼AddUser.jspï¼ä»¥æ¾ç¤ºâæ·»å å¦ç表åâï¼è¯¥é¡µé¢å°ä½¿ç¨JQueryå°Ajax请æ±åéå°Spring MVC Controllerã jspè¿å°åç¨æ·ç¡®è®¤å·²å°Studentæ·»å å°å表ä¸ã
- ç¶åï¼æ们å°å建ä¸ä¸ªjspï¼ShowUsers.jspï¼ï¼è¯¥å表å°ååºå表ä¸çææç¨æ·ã
User.java
User.javaå
·æ两个å±æ§å称åæè²ä¿¡æ¯ï¼ç¨äºåå¨å¦çä¿¡æ¯ã 以ä¸æ¯User.javaç代ç ï¼
package com.raistudies.domain; public class User { private String name = null; private String education = null; // Getter and Setter are omitted for making the code short }
UserListController.java
æ§å¶å¨å
·æä¸ç§æ¹æ³æ¥å¤çä¸ä¸ªè¯·æ±urlã â showFormâæ¹æ³å¤çåç¨æ·æ¾ç¤ºè¡¨åç请æ±ã 波纹管代ç æ¾ç¤ºäºUserListController.javaï¼
package com.raistudies.controllers; import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import com.raistudies.domain.User; @Controller public class UserListController { private List<User> userList = new ArrayList<User>(); @RequestMapping(value="/AddUser.htm",method=RequestMethod.GET) public String showForm(){ return "AddUser"; } @RequestMapping(value="/AddUser.htm",method=RequestMethod.POST) public @ResponseBody String addUser(@ModelAttribute(value="user") User user, BindingResult result ){ String returnText; if(!result.hasErrors()){ userList.add(user); returnText = "User has been added to the list. Total number of users are " + userList.size(); }else{ returnText = "Sorry, an error has occur. User has not been added to list."; } return returnText; } @RequestMapping(value="/ShowUsers.htm") public String showUsers(ModelMap model){ model.addAttribute("Users", userList); return "ShowUsers"; } }
â addUsersâä¸å¤ç表åçæ§å¶å¨æ¹æ³ç¸åï¼å 为å®è¿å
å«æ³¨è§£@ResponseBody ï¼è¯¥æ¹æ³åè¯Spring MVC该æ¹æ³è¿åçStringæ¯å¯¹è¯·æ±çååºï¼å®ä¸å¿
æ¥æ¾æ¤å符串çè§å¾ã å æ¤ï¼è°æ´å符串å°ä½ä¸ºååºåéåæµè§å¨ï¼å æ¤Ajax请æ±å°èµ·ä½ç¨ã â showUsersâæ¹æ³ç¨äºåç¨æ·æ¾ç¤ºå¦çå表ã
AddUser.jsp
AddUser.jspå
å«ä¸ä¸ªç®åç表åï¼ç¨äºæ¶éæå
³å¦ççä¿¡æ¯ï¼å¹¶ä½¿ç¨JQerey JavaScriptæ¡æ¶çæ对æå¡å¨çAjax请æ±ã 以ä¸æ¯AddUser.jspä¸ç代ç ï¼
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!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=ISO-8859-1"> <title>Add Users using ajax</title> <script src="/AjaxWithSpringMVC2Annotations/js/jquery.js"></script> <script type="text/javascript"> function doAjaxPost() { // get the form values var name = $('#name').val(); var education = $('#education').val(); $.ajax({ type: "POST", url: "/AjaxWithSpringMVC2Annotations/AddUser.htm", data: "name=" + name + "&education=" + education, success: function(response){ // we have the response $('#info').html(response); $('#name').val(''); $('#education').val(''); }, error: function(e){ alert('Error: ' + e); } }); } </script> </head> <body> <h1>Add Users using Ajax ........</h1> <table> <tr><td>Enter your name : </td><td> <input type="text" id="name"><br/></td></tr> <tr><td>Education : </td><td> <input type="text" id="education"><br/></td></tr> <tr><td colspan="2"><input type="button" value="Add Users" οnclick="doAjaxPost()"><br/></td></tr> <tr><td colspan="2"><div id="info" style="color: green;"></div></td></tr> </table> <a href="/AjaxWithSpringMVC2Annotations/ShowUsers.htm">Show All Users</a> </body> </html>
å¦ææ¨ä¸äºè§£JQueryï¼å¯è½ä¼æäºå°æã è¿æ¯JQuery代ç ç说æï¼
- var name = $ï¼'ï¼name'ï¼ãvalï¼ï¼; ï¼âè¿éç$æ¯JQueryéæ©å¨ï¼ç¨äºéæ©HTMLä¸å ¶æ è¯ç¬¦ä½ä¸ºåæ°ä¼ éçä»»ä½èç¹ã å¦ææ è¯ç¬¦æ¯å¸¦æï¼çåç¼ï¼åæå³çå®æ¯HTMLèç¹çIDã å¨è¿éï¼ $ï¼'ï¼name'ï¼ãvalï¼ï¼å å«å ¶âå称âHTMLèç¹çå¼ã ç¨æ·å°å¨å ¶ä¸è¾å ¥å ¶å§åçææ¬æ¡ä¸ºnameã å æ¤Javaèæ¬åéå称å°å å«ç¨æ·çå称ã
- $ .ajaxï¼ï¼ ï¼-æ¯JQueryç$åéä¸çè°ç¨Ajaxçæ¹æ³ã è¿éæäºä¸ªè®ºç¹ã é¦å ï¼â type â表示请æ±çAjaxç±»åã å®å¯ä»¥æ¯POSTæGETã ç¶åï¼â url â表示å°è¦æ交çAjaxæ交çURLã â data âå°å å«è¦åéå°æå¡å¨çåå§æ°æ®ã å¦æ请æ±è·å¾æå并ä¸æå¡å¨åæµè§å¨åéååºï¼åâ æå âå°å å«å¿ é¡»è°ç¨çåè½ä»£ç ã å¦æ请æ±åºç°ä»»ä½é误ï¼â error âå°å å«å¿ é¡»è°ç¨çåè½ä»£ç ã
- $ï¼'ï¼info'ï¼ãhtmlï¼responseï¼; ï¼-å°æå¡å¨çååºè®¾ç½®ä¸ºdivã è¿æ ·ï¼â Helloâ +å称å°æ¾ç¤ºå¨ID为â info âçdivä¸ã
ShowUsers.jsp
以ä¸æ¯ShowUsers.jspä¸ç代ç ï¼ç¨äºå°ææå¦çä¿¡æ¯ä»ArrayListæå°å°jsp页é¢ï¼
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <!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=ISO-8859-1"> <title>Users Added using Ajax</title> </head> <body style="color: green;"> The following are the users added in the list :<br> <ul> <c:forEach items="${Users}" var="user"> <li>Name : <c:out value="${user.name}" />; Education : <c:out value="${user.education}"/> </c:forEach> </ul> </body> </html>
å¨è¿éï¼æ们使ç¨äºJSTLæ ¸å¿taglibæ¥éåArrayList并å¨æµè§å¨ä¸æ¾ç¤ºæ¯ä¸ªå¼ã
- <cï¼forEach items =â $ {Users}â var =â userâ> ï¼æ ç¾ç¨äºéåArrayListã å±æ§â itemsâç¨äºå®ä¹åå¨List对象çbeanï¼å æ¤items =â $ {Users}â表示å¨â Usersâ beanä¸åå¨ç¨æ·å表ã â varâå±æ§è¡¨ç¤ºå°åå¨æ¯ä¸ªç¨æ·çåéçå称ã
- <cï¼out value =â $ {user.name}â /> ï¼è¿æ ·ï¼å个ç¨æ·å°åå¨å¨åéåâ userâä¸ï¼å æ¤è¦ä½¿ç¨$ {user.name}å¨User对象ä¸æå°nameå±æ§ã
app-config.xml
æ们çSpring MVCé ç½®æ件åºè¯¥è½å¤å¤ç注é驱å¨çæ§å¶å¨ã é ç½®å¦ä¸ï¼
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans?? ?? ?? http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"> <!-- Scans the classpath of this application for @Components to deploy as beans --> <context:component-scan base-package="com.raistudies" /> <!-- Configures the @Controller programming model --> <mvc:annotation-driven /> <!-- Resolves view names to protected .jsp resources within the /WEB-INF/views directory --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean> </beans>
å°waræ件é¨ç½²å°tomcat 6并å¨æµè§å¨ä¸åå»URLï¼å°æ¾ç¤ºä»¥ä¸é¡µé¢ï¼
使ç¨Spring MVC 3çAjax表å |
å¡«åå¦çä¿¡æ¯ï¼
使ç¨Spring MVC 3çAjaxå¡«åè¡¨æ ¼ |
åå»âæ·»å ç¨æ·âæé®åï¼æ¨å°æ¶å°ä¸æ¡æ¶æ¯ï¼æ示ç¨æ·å·²è¢«æ·»å å°å表ä¸ï¼
Ajax表åæ交确认Spring MVC 3 |
è¦æ¾ç¤ºæ·»å å°å表ä¸çææå¦çï¼è¯·åå»âæ¾ç¤ºææç¨æ·âæé®ï¼æ¨å°è·å¾ä»¥ä¸é¡µé¢ï¼
æ¾ç¤ºææç¨æ·Spring MVC 3 |
è¿ä¸åé½æ¥èªä½¿ç¨Spring MVC 3åJQueryçAjaxã æ¨å¯ä»¥ä»ä»¥ä¸é¾æ¥ä¸è½½æºä»£ç ã
èµææ¥æºï¼ ä¸è½½
åèï¼ ä½¿ç¨æ¥èªJCGåä½ä¼ä¼´ç AnnotationsåJQueryç带æSpring MVC 3çAjax Rai Studieså客ä¸çRahul Mondalã
ç¿»è¯èª: https://www.javacodegeeks.com/2012/02/ajax-with-spring-mvc-3-using.html