mvc 一般注释_使用带有注释和JQuery的Spring MVC 3的Ajax

mvc 一般注释

与Ajax一起工作对我来说一直很有趣! 是不是 ? 我将使您轻松将Ajax与Spring MVC 3和JQuery结合使用。 这篇文章将向您说明如何在工业编码的现实生活中使用Ajax。 和往常一样,我们将在Spring MVC 3框架中以Ajax的实际示例为例,并将其实现,并且通过使您理解本主题,我将使实现变得容易。

让我们看看示例的要求是什么,以及Spring MVC 3 Ajax工具如何实现它:
在我们的示例中,我们将列出姓名和学历最高的学生,并将其发送到安置办公室,以便学生获得机会。 我们将在线向学生提供“添加学生表格”,以便他们可以在线提交姓名并进行注册。 由于很多学生都会使用该系统,因此系统的性能可能会非常低。 为了提高Web应用程序的性能,我们将结合使用Ajax和Spring MVC 3 Framework和JQuery。
我们必须执行以下步骤来实现我们的示例:

  1. 首先,我们将创建一个包含学生信息值的域类(User.java)。
  2. 之后,我们将创建控制器类(UserListController.java)以处理HTTP请求。 我们的控制器将处理三种类型的请求。 首先,显示“添加学生表格”,其次处理来自“添加学生表格”的Ajax请求,并将学生添加到列表中,第三次显示学生信息作为列表。
  3. 然后,我们将创建一个jsp页面(AddUser.jsp)以显示“添加学生表单”,该页面将使用JQuery将Ajax请求发送到Spring MVC Controller。 jsp还将向用户确认已将Student添加到列表中。
  4. 然后,我们将创建一个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 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,可能会有些困惑。 这是JQuery代码的说明:

  1. var name = $('#name')。val(); :–这里的$是JQuery选择器,用于选择HTML中其标识符作为参数传递的任何节点。 如果标识符是带有#的前缀,则意味着它是HTML节点的ID。 在这里, $('#name')。val()包含其“名称”HTML节点的值。 用户将在其中输入其姓名的文本框为name。 因此Java脚本变量名称将包含用户的名称。
  2. $ .ajax() :-是JQuery的$变量中的调用Ajax的方法。 这里有五个论点。 首先,“ type ”表示请求的Ajax类型。 它可以是POST或GET。 然后,“ url ”表示要被Ajax提交命中的URL。 “ data ”将包含要发送到服务器的原始数据。 “ 成功 ”将包含如果请求获得成功并且服务器向浏览器发送响应时必须调用的功能代码。 如果请求出现任何错误,“ error ”将包含必须调用的功能代码。
  3. $('#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

mvc 一般注释

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/357517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html中el表达式遍历list,EL表达式在JS中取出来打印[object HTMLDivElement]的问题

今天做项目的时候,要在JS中获取请求参数中的 值,想直接用 ${param.tabName}获取,结果console.debug()打印出来,居然是 [object HTMLDivElement] 类型. 导致无法获取真正的值,原因可能是因为JQ默认把 这个值进行了封装,封装成 HTMLDivElement 对象,导致出问题. 解决办法,就是告…

孙叫兽:我所认为的领导力!

回归领导力的本质&#xff0c;观察反思自己日常的领导力行为&#xff0c;在不断的学习中找到属于自己的最佳答案... 目录 重塑领导力 管理&#xff0c;到底是管人还是管事&#xff1f; 领导力唯一的准则是没有准则 改变自己就能改变公司&#xff1f; 成功的战略10%制定90%执…

WildFly管理控制台已更新–请求反馈

红帽JBoss企业应用程序平台&#xff08;EAP&#xff09;和WildFly具有共生关系 。 简而言之&#xff0c;红帽JBoss企业应用程序平台&#xff08;JBoss EAP&#xff09;保留了WildFly社区项目&#xff08;以前称为JBoss Application Server&#xff09;的所有创新。 但是只有JBo…

web.xml上监听器作用

<!--Spring ApplicationContext 载入 --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- 使Spring支持request与session的scope,如:<bean id"log…

win7远程多用户登录此计算机无法,win7如何实现远程桌面多用户登录|win7实现多用户登录远程桌面的方法...

Win7系统自带有远程桌面功能&#xff0c;开启远程桌面可以控制其他电脑&#xff0c;一般远程登录桌面时&#xff0c;即使登录的是不同的管理账号&#xff0c;还是会把远程登录的人给记下来&#xff0c;不同的账号只能同时存在一个会话窗。那么win7如何实现远程桌面多用户登录&a…

饿了么薅羊毛时刻正式开启

随着信息化时代的来临&#xff0c;我们的生活方式更加的方便快捷。随着外卖行业的发展&#xff0c;我们不用踏出家门就可以吃到热乎的饭菜了。我们网上点餐都是通过外卖app来进行点餐的&#xff0c;现在的外卖app主要要饿了么、美团外卖等等。有时候外卖平台也会推出一些优惠活…

500个运营工具大全,速度收藏!!!

500个运营工具大全! 目录 综合性平台: 运营、营销、广告类型平台: 创业资讯类

ajax修改按钮的html值,ajax - 在yii 1中使用ajax根据选定的单选按钮选项更新html字段值 - 堆栈内存溢出...

我是yii和ajax的新手。 在这里&#xff0c;我试图基于相同表单中选中的单选按钮选项来更新表单值。 我可以创建一个ajax调用&#xff0c;并在另一个div中呈现值。 但我仍然不知道如何传递该值以供查看。如下所示&#xff0c;这是单选按钮&#xff0c;根据选定的单选选项发送aja…

软件测试 实验一

一、Junit&#xff0c; hamcrest 和 eclemma 的安装和使用 通过右击项目里build path 里的 add external archives...来添加Junit包和hamcrest包。运行Junit时&#xff0c;只需在测试用例上右击run as->Junit test,即可对要测试的函数进行测试。 eclemma压缩包我是通过在线安…

如何开发高度可定制的产品

您是否听说过&#xff1a;“我们非常喜欢您的产品……除了一些小细节”。 然后&#xff0c;CIO推出了一系列其他“必备”要求的清单&#xff0c;其中有数百个要求添加到您的惊人产品中。 您是否听说过&#xff0c;甚至说过&#xff1a;“团队&#xff0c;我们即将签署一份利润丰…

前端使用正则表达式从接口地址栏取值并将对应的值展示在页面上

业务场景&#xff0c;APP分享出链接&#xff0c;通过get请求接口方式&#xff0c;展示对应的字段。 需求图&#xff1a; 获取某单号 var name"";//姓名var idNo"";//证件号var applicationNogetParams("applicationNo");//号码window.onload fu…

科学计算机看电量,解密:关于手机电量为1%是如何科学的算出来的?

本文的话题也许是很多人的疑问&#xff0c;对于手机显示电量是怎么推算出来的&#xff0c;到底显示1%的时候还有没有电呢&#xff1f;这是一个直击灵魂的问题——有时候手机最后1%的电能用很久&#xff0c;有时候却只能用一瞬间。给人留下这个印象&#xff0c;有一些心理层面的…

node源码详解(四) —— js代码如何调用C++的函数

本作品采用知识共享署名 4.0 国际许可协议进行许可。转载保留声明头部与原文链接https://luzeshu.com/blog/nodesource4 本博客同步在https://cnodejs.org/topic/56ed249356d74f3d3624b3ff 本博客同步在http://www.cnblogs.com/papertree/p/5285705.html 上面讲到node调用Scrip…

EasyConnect安装使用教程

easyconnect电脑版是一款为企业提供的移动信息化办公软件&#xff0c;这款软件可以让公司经常出差的人员能在公司范围外使用公司的内网系统和相关应用。软件支持移动和pc平台&#xff0c;不管是在电脑上还是手机上使用都非常方便&#xff0c;easyconnect电脑版便捷性和安全性使…

xp如何快速锁定计算机,Window XP中快速锁定计算机两法

在Windows XP时工作时&#xff0c;我们经常要锁定计算机&#xff0c;当计算机被锁定后&#xff0c;只有重新登录才能够使用计算机&#xff0c;从而保证了计算机的安全。但是&#xff0c;一般情况下我们需要锁定计算机操作时&#xff0c;都是按下CTRLALTDEL(或者为Delete)键&…

辅助判卷程序项目的扩展--自动出题

既完成了主模块---计算题目的设计后&#xff0c;我就开始了自动出题程序的设计&#xff0c;这个程序的思路比较简单&#xff0c;并不是很完美 下面是程序截图和生成的算式 题目中最多包含一对括号&#xff0c;此程序唯一的遗憾就是有时候计算结果会很大例如7736/4这样的结果 下…

H5工程师跨页面取值的几种方法

业务场景:作为H5工程师,经常需要到另一个页面去拿变量值,遇到好多次啦,这里总结一下,同等不同的页面一般不可以使用id或者类选择器定位取值,比如A页面有个id="demo",你从B页面取值,取不到,我记得上次在jsp中取到过一次,应该是和属性相关的,在js中完全行不通…

计算机的发展阶段及特点与未来发展,计算机的发展历史及未来

芯片快将近10亿倍。光子计算机光子计算机即全光数字计算机&#xff0c;以光子代替电子, 光互连代替导线互连&#xff0c;光硬件代替计算机中的电子硬件&#xff0c;光运算代替电运算。光的高速&#xff0c;天然地决定了光计算机有超高速运算速度&#xff1b;与只能在低温下工作…

akka2.5_播放2.0:Akka,Rest,Json和依赖项

akka2.5在过去的几个月中&#xff0c;我越来越多地涉足scala。 Scala与“ Play框架”一起为您提供了一个非常有效且快速的开发环境&#xff08;即&#xff0c;您掌握了Scala语言的特质之后&#xff09;。 Play框架背后的家伙一直在努力开发新版本的Play 2.0。 在Play 2.0中&…

第三周学习进度条

第三周 所花时间(包括上课) 26 代码量(行) 253 博客量(篇) 2 了解到的知识点 第一次团队合作&#xff0c;发现要学习的东西还很多&#xff0c;合作伙伴之间还是需要磨合的&#xff0c;两个人之间还是需要沟通的&#xff0c;果然容易打起来。。。 知识上进一步了解了栈…