SpringMVC中的异步提交表单
1.前言
近期在做一个项目,前台框架用的是EasyUI+SpringMVC,因为对SpringMVC不太了解,所以刚開始接触的时候有点吃力,在此通过一个EasyUi中的DataGrid表格来总结一下.
2.SpringMVC中的View向控制器传參
在SpringMVC中,View怎样向控制器传參数呢?
尤其是Form表单提交的时候,详细有例如以下几种方式
2.1 HttpServletRequest
能够通过getParameter()方法来获取前台传过来的參数
2.2 Form表单绑定
//这样才訪问的时候,直接就封装成了对象
public String queryPerson(person person){
return "index";
}通过这样,就直接把前台參数封装成了person对象,这样就接收到了參数
2.3 任意參数设置
//通过指定參数,就能够获取到前台传过来的值
public String queryPerson(String personId,String personName){
return "index";
}通过在方法中设置參数,就能够在前台获取到传过来的參数,但要保证,參数名称要一致
3.SpringMVC中控制器向View视图传參数
3.1 Model传參数
//採用这样的方式,把数据放置到Model中,则能够在后台直接获取到数据
public String toPerson(Model model){
/*直接把值放置到model中,在前台通过${key}值来获取*/
model.addAttribute("p", "nihoama");
return "index";
}才用这样的方式,把參数封装到model中,然后在前台通过${key}值,就能够获取到控制器传过来的參数
3.2 map传參数
/*採用这样的方式,把数据写到map中,这时就能够在前台页面中获取到控制器的数据*/
protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
System.out.println("hello springmvc");
Map<String, String> map=new HashMap<String, String>();
map.put("p", "nihaoma");
//ModelAndView会被视图解析器解析自己主动加上前缀和后缀
return new ModelAndView("index",map);
}与model类似,把值放置到map中,然后在前台直接获取就可以
3.3 PrintWriter对象输出内容
//通过使用PrintWriter对象,就能够直接把内容打印到页面上
public void outString(PrintWriter out){
out.print("你好吗");
}通过PrintWriter对象,就能够直接把内容输出到页面上
3.4 @ResponseBody输出字符串
//通过打上此标签,就会直接把字符串输出到页面上
@ResponseBody
public String outString(){
return "你好吗";
}假设在方法上放置此注解的话,那么返回的String值,就不在是视图,而将会是以流的形式返回字符串
4.SpringMVC异步提交表单
近期用到了异步提交表单的操作,以下展示一下
JS操作
// 加入字典类型信息方法
function AddDictionaryType() { $('#AddDictionaryTypeForm').form('submit', {
url : "addDictionaryType",
onSubmit : function() {
var isValid = $(this).form('validate');
return isValid; // 返回false终止表单提交
},
success : function(data) {
if (data == "success") {
$.messager.alert('提示', '加入成功。');
$('#dg').datagrid('reload'); // 又一次加载当前页面数据
$('#Addwin').window('close'); // 关闭窗体 } else {
$.messager.alert('提示信息', '加入失败,请联系管理员!', 'warning');
} }
}); }异步调用的方法
/**
* 字典类型的加入方法
*
* @param request
* 获取
* @param response
* 响应
* @return 返回类型为void
*/
@RequestMapping("/addDictionaryType")
public void add(HttpServletRequest request, HttpServletResponse response) { // 定义是否加入成功标识
boolean result = false;
// 定义字典类型实体
DictionaryType dictionaryType = new DictionaryType();
try { // 防止中文乱码
dictionaryType.setDictionaryTypeName(new String(request
.getParameter("DictionaryTypeName").getBytes("iso-8859-1"),
"UTF-8"));
dictionaryType.setDictionaryTypeCode(new String(request
.getParameter("DictionaryTypeCode").getBytes("iso-8859-1"),
"UTF-8"));
dictionaryType.setStatus(new String(request.getParameter("status")
.getBytes("iso-8859-1"), "UTF-8"));
// 获得当前计算机的名称
dictionaryType.setOperator(new String(System.getProperty(
"user.name").getBytes("iso-8859-1"), "UTF-8"));
dictionaryType.setComment(new String(request
.getParameter("comment").getBytes("iso-8859-1"), "UTF-8")); // 调用保存的方法
result = dictionaryTypeBean.saveEntity(dictionaryType);
// 推断是否保存成功,成功的话,向前台输出success
if (result) {
outToJson.outJson(response, "success");
} else {
// 失败的话,向前台输出error
outToJson.outJson(response, "error");
} } catch (Exception e) {
System.out.println("加入字典类型失败");
e.printStackTrace();
} }上面就直接通过PrintWriter对象来输出參数,然后在JS中异步获取来进行推断
SpringMVC中的异步提交表单的更多相关文章
- ASP.NET MVC 网站开发总结(五)——Ajax异步提交表单之检查验证码
首先提出一个问题:在做网站开发的时候,用到了验证码来防止恶意提交表单,那么要如何实现当验证码错误时,只是刷新一下验证码,而其它填写的信息不改变? 先说一下为什么有这个需求:以提交注册信息页面为例,一般 ...
- 雷林鹏分享:jQuery EasyUI 表单 - 创建异步提交表单
jQuery EasyUI 表单 - 创建异步提交表单 本教程向您展示如何通过 easyui 提交一个表单(Form).我们创建一个带有 name.email 和 phone 字段的表单.通过使用 e ...
- jQuery.Form.js 异步提交表单使用总结
jQuery.Form.js 是一个用于使用jQuery异步提交表单的插件,它使用方法简单,支持同步和异步两种方式提交. 第一步:引入jQuery与jQuery.Form.js <script ...
- jquery ajax异步提交表单数据
使用jquery的ajax方法可以异步提交表单,成功后后台返回json数据,回调函数处理,可以不用刷新页面,达到异步的目的: 处理表单的数据可以用serialize()方法进行序列化,而如果提交的数据 ...
- 使用ajax异步提交表单
虽然这篇文章的标题是提交表单,但是主要的难点在于使用ajax提交文本域的内容, 在工作中的经常会需要ajax跨域的问题,通常的需求使用jsonp就可以得到解决,但是当前项目中有一个图片服务器,客户端需 ...
- delphi中使用webbrowser提交表单
转自:http://blog.163.com/hehaifeng1984@126/blog/static/6900113620133504644998/ 我们以百度搜索为例,使用webbrowser组 ...
- PHP自学3——在html的<table>标签中显示用户提交表单
为了更好地显示用户提交表单,本节将在上一节的基础上将读取的用户表单显示在html的<table>标签中,这一节将用到和数组有关的知识. 本节代码将从外部文件(.txt文件)中读取信息于指定 ...
- tp5中ajax方式提交表单
用ajax提交表单,迅速,快捷,实现页面无刷新提交表单. <!DOCTYPE html> <html lang="en"> <head> < ...
- MVC之AJAX异步提交表单
第一种用法: 在MVC中,依然可以使用ajax校验,跟在WebForm中的使用时一样的,唯一的区别就是将以前的URL路劲改为访问控制器下的行为 前台 <html> <head> ...
随机推荐
- HDU1879 继续畅通工程 (并查集)
继续畅通工程 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- NYOJ 46-最少乘法次数(数论)
题目地址:pid=46">NYOJ 46 思路:能够化成二进制来求解.结果是最高位的位数-1+最高位后面1的个数.比如:对于3.它的二进制代码为11,就是用这个最高位(2-1)加上后面 ...
- BestCoder Round #3 A,B
A.预处理出来,0(1)输出. Task schedule Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- 我是如何开发一个连锁企业的信息系统的,NO.1
我是如何开发一个连锁企业的信息系统的,NO.1 连锁企业的信息系统的开发,一半要经历系统分析.系统设计.系统实施.系统评价和系统维护等五个阶段, 而在每个实施阶段中又具体划分出许多阶段性目标和实施步骤 ...
- JQuery————基础&&基础选择器
环境搭建 搭建一个jQuery的开发环境非常方便,可以通过下列几个步骤进行. 下载jQuery文件库 在jQuery的官方网站(http://jquery.com)中,下载最新版本的jQuery文件库 ...
- 04JS高级动态添加属性和删除属性
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- C#5 复习总结循环 迭代和穷举
一.章节复习: 循环.反复执行某段语句一种语法形式. 1.基本语法: for( 初始条件 ; 循环条件 ; 状态的改变 ) { 循环体 } 循环的四要素. 循环的执行过程.初始条件--循环条件--循环 ...
- 动手编写插件-javascript分页插件
原来公司用的报表分页插件是C#编写的服务器插件,需要前后台交互,而且不支持ajax. 经过一段时间折腾,我编写了一个轻便的jquery分页插件,支持ajax.下面是插件代码 /* 插件名称:报表分页 ...
- scroll运用、图片悬浮
scroll 滚动条 长话短说进入正题: scrollTOP==0 内容置于顶部: scrollTOP()>=$(document).height-$(window).height 内容置于底部 ...
- JavaScript学习笔记(三)this关键字
this是Javascript的关键字,代表在函数运行时,自动生成一个内部对象,只能在函数内部使用.例如: function test() { this.x = 1; } 随着函数的使用场合不同,th ...