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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

使用带有注释和JQuery的Spring MVC 3的Ajax

發(fā)布時(shí)間:2023/12/3 javascript 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用带有注释和JQuery的Spring MVC 3的Ajax 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
與Ajax一起工作對(duì)我來說一直很有趣! 是不是 ? 我將使您輕松將Ajax與Spring MVC 3和JQuery結(jié)合使用。 這篇文章將向您說明如何在工業(yè)編碼的現(xiàn)實(shí)生活中使用Ajax。 和往常一樣,我們將在Spring MVC 3框架中以Ajax的實(shí)際示例為例,并將其實(shí)現(xiàn),并且通過使您理解本主題,我將使實(shí)現(xiàn)變得容易。

讓我們看看示例的要求是什么,Spring MVC 3 Ajax工具將如何滿足它:
在我們的示例中,我們將列出姓名和學(xué)歷最高的學(xué)生,并將其發(fā)送到安置辦公室,以便學(xué)生獲得機(jī)會(huì)。 我們將在線向?qū)W生提供“添加學(xué)生表格”,以便他們可以在線提交姓名并注冊(cè)。 由于很多學(xué)生都會(huì)使用該系統(tǒng),因此系統(tǒng)的性能可能會(huì)非常低。 為了提高Web應(yīng)用程序的性能,我們將結(jié)合使用Ajax和Spring MVC 3 Framework和JQuery。 我們必須執(zhí)行以下步驟來實(shí)現(xiàn)我們的示例:

  • 首先,我們將創(chuàng)建一個(gè)包含學(xué)生信息值的域類(User.java)。
  • 之后,我們將創(chuàng)建控制器類(UserListController.java)以處理HTTP請(qǐng)求。 我們的控制器將處理三種類型的請(qǐng)求。 首先,顯示“添加學(xué)生表格”,其次處理來自“添加學(xué)生表格”的Ajax請(qǐng)求,并將學(xué)生添加到列表中,第三次顯示學(xué)生信息作為列表。
  • 然后,我們將創(chuàng)建一個(gè)jsp頁面(AddUser.jsp)以顯示“添加學(xué)生表單”,該頁面將使用JQuery將Ajax請(qǐng)求發(fā)送到Spring MVC Controller。 jsp還將向用戶確認(rèn)已將Student添加到列表中。
  • 然后,我們將創(chuàng)建一個(gè)jsp(ShowUsers.jsp),該列表將列出列表中的所有用戶。
  • User.java
    User.java具有兩個(gè)屬性名稱和教育信息,用于存儲(chǔ)學(xué)生信息。 以下是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
    控制器具有三種方法來處理三個(gè)請(qǐng)求url。 “ showForm”方法處理向用戶顯示表單的請(qǐng)求。 波紋管代碼顯示了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”與處理表單的控制器方法相同,因?yàn)樗€包含注解@ResponseBody ,它告訴Spring MVC該方法返回的String是對(duì)請(qǐng)求的響應(yīng),它不必查找此字符串的視圖。 因此,調(diào)整字符串將作為響應(yīng)發(fā)送回瀏覽器,因此Ajax請(qǐng)求將起作用。 “ showUsers”方法用于向用戶顯示學(xué)生列表。
    AddUser.jsp
    AddUser.jsp包含一個(gè)簡單的表單,用于收集有關(guān)學(xué)生的信息,并使用JQerey JavaScript框架生成對(duì)服務(wù)器的Ajax請(qǐng)求。 以下是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 valuesvar 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" onclick="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,可能會(huì)有些困惑。 這是JQuery代碼的說明:

  • var name = $('#name')。val(); :–這里的$是JQuery選擇器,用于選擇HTML中其標(biāo)識(shí)符作為參數(shù)傳遞的任何節(jié)點(diǎn)。 如果標(biāo)識(shí)符是帶有#的前綴,則意味著它是HTML節(jié)點(diǎn)的ID。 在這里, $('#name')。val()包含其“名稱”HTML節(jié)點(diǎn)的值。 用戶將在其中輸入其姓名的文本框?yàn)閚ame。 因此Java腳本變量名稱將包含用戶的名稱。
  • $ .ajax() :-是JQuery的$變量中的調(diào)用Ajax的方法。 這里有五個(gè)論點(diǎn)。 首先,“ type ”表示請(qǐng)求的Ajax類型。 它可以是POST或GET。 然后,“ url ”表示將要提交的Ajax提交的URL。 “ data ”將包含要發(fā)送到服務(wù)器的原始數(shù)據(jù)。 如果請(qǐng)求獲得成功并且服務(wù)器向?yàn)g覽器發(fā)送響應(yīng),則“ 成功 ”將包含必須調(diào)用的功能代碼。 如果請(qǐng)求出現(xiàn)任何錯(cuò)誤,“ error ”將包含必須調(diào)用的功能代碼。
  • $('#info')。html(response); :-將服務(wù)器的響應(yīng)設(shè)置為div。 這樣,“ Hello” +名稱將顯示在ID為“ info ”的div中。
  • ShowUsers.jsp
    以下是ShowUsers.jsp中的代碼,用于將所有學(xué)生信息從ArrayList打印到j(luò)sp頁面:

    <%@ 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并在瀏覽器中顯示每個(gè)值。

    • <c:forEach items =“ $ {Users}” var =“ user”> :標(biāo)簽用于遍歷ArrayList。 屬性“ items”用于定義存儲(chǔ)List對(duì)象的bean,因此items =” $ {Users}”表示在“ Users” bean中存在用戶列表。 “ var”屬性表示將存儲(chǔ)每個(gè)用戶的變量的名稱。
    • <c:out value =” $ {user.name}” /> :這樣,單個(gè)用戶將存儲(chǔ)在變量名“ user”中,因此要使用$ {user.name}在User對(duì)象中打印name屬性。

    app-config.xml

    我們的Spring MVC配置文件應(yīng)該能夠處理注釋驅(qū)動(dòng)的控制器。 配置如下:

    <?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表單

    填寫學(xué)生信息:

    使用Spring MVC 3的Ajax填寫表格

    單擊“添加用戶”按鈕后,您將收到一條消息,提示用戶已被添加到列表中:

    Ajax表單提交確認(rèn)Spring MVC 3

    要顯示添加到列表中的所有學(xué)生,請(qǐng)單擊“顯示所有用戶”按鈕,您將獲得以下頁面:

    顯示所有用戶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

    總結(jié)

    以上是生活随笔為你收集整理的使用带有注释和JQuery的Spring MVC 3的Ajax的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。