SpringMVC中的非同步提交表單
1.前言
最近在做一個專案,前臺框架用的是EasyUI+SpringMVC,由於對SpringMVC不太瞭解,所以剛開始接觸的時候有點吃力,在此通過一個EasyUi中的DataGrid表格來總結一下.
2.SpringMVC中的View向控制器傳參
在SpringMVC中,View如何向控制器傳引數呢?尤其是Form表單提交的時候,具體有如下幾種方式
2.1 HttpServletRequest
可以通過getParameter()方法來獲取前臺傳過來的引數
2.2 Form表單繫結
通過這樣,就直接把前臺引數封裝成了person物件,這樣就接收到了引數//這樣才訪問的時候,直接就封裝成了物件 public String queryPerson(person person){ return "index"; }
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輸出字串
如果在方法上放置此註解的話,那麼返回的String值,就不在是檢視,而將會是以流的形式返回字串//通過打上此標籤,就會直接把字串輸出到頁面上 @ResponseBody public String outString(){ return "你好嗎"; }
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中非同步獲取來進行判斷
相關推薦
Jquery點選按鈕 非同步和同步提交表單
前臺部分程式碼: <form class="addSud" method="post" action=""> <table> <tr> <td class="textRight">姓名</td&
SpringMVC學習筆記:表單提交 參數的接收
服務器 book postman pan json格式數據 ica 上傳圖片 異步 collect SpringMVC可以接收原生form表單和json格式數據 有一個名為Book的model,其中的屬性如下: 字符串類型的name,數字類型的price,數組類型的c
使用SpringMVC 實現RESTful,並解決PUT,DELETE請求無法提交表單資料的問題
瞭解RESTful,使用SpringMVC 實現RESTful 關於REST: 1.表述性狀態轉移,是web服務的一種架構風格,是一種思想,而非標準或軟體。 2. 通常基於使用HTTP,URI,XML、JSON、HTML這些現廣泛流行的協議。 3.屬於輕量級(使
springmvc 攔截器 防止重複提交表單
第一種方法:判斷session中儲存的token 比較麻煩,每次在提交表單時都必須傳入上次的token。而且當一個頁面使用ajax時,多個表單提交就會有問題。 註解Token程式碼: package com.thinkge
springmvc結合jquery.form.js非同步提交表單上傳檔案
需要 jquery.form.js 外掛 <script type="text/javascript" src="/libs/js/form/jquery.form.js"><
ajax-springMVC提交表單的方式
1.request引數提交(Form提交),適用於GET/POST request引數傳遞都會轉換成 id=123&fileName=test.name&type=culture_art這種形式,get請求會顯示在url上,post不在url上顯示 ajax寫
SpringMVC中的非同步提交表單
1.前言 最近在做一個專案,前臺框架用的是EasyUI+SpringMVC,由於對SpringMVC不太瞭解,所以剛開始接觸的時候有點吃力,在此通過一個EasyUi中的DataGrid表格來總結
SpringMVC入門小例子——表單提交
主要檔案清單 WebContent/WEB-INF/web.xml src/springmvc-servlet.xml src/test.SpringMVC/MVCController.java W
Ajax SpringMVC 提交表單資料
Ajax 的寫法 function saveSplash() { var titleVal = $("#title").val(); var subTitleVal = $("#subTitle").val(); if (titleVal == null ||
AJax提交表單資料到後臺springmvc接收
第一種方法直接用serialize()方法function insert(){ $.ajax({ type:"POST", url:"$
springmvc提交表單日期用Date接收
springMVC提交表單時候,日期資料正常情況下要用String來接收,如果想要用Date來接收,可以實現PropertyEditorRegistry介面,這個介面在spring-beans包下 @InitBinder protected voi
JavaWeb網上圖書商城完整項目--day02-4.regist頁面提交表單時對所有輸入框進行校驗
word except 繼承 stub jstl use cti bmi imp 1、現在我們要將table表中的輸入的參數全部提交到後臺進行校驗,我們提交我們是按照表單的形式提交,所以我們首先需要在table表外面添加一個表單 <%@ page lang
form提交表單
-name 出錯 ajax請求 int data fun java .get 請求 菜鳥的第一篇文章,今天在工作中遇到一個問題。下面來說說,也許很多大神都知道了,但作為菜鳥還是想說說。 對於table表格裏面的數據,如下: [html] view plain copy
php 使用curl 進行簡單模擬提交表單
8.0 bin field this class chrom 提交表單 bsp alt //初始化curl $ch = curl_init(); $url = ‘xxx‘; $option = [ CURLOPT_URL => $url, CURLO
分針網—每日分享:ajax提交表單
print win -c 找不到 用戶 post請求 its -o block ajax提交表單在項目中常用,前臺無論是簡單的html、jsp或者是使用了easyui框架,提交表單都會使用到ajax,extjs框架其實也是使用了ajax只不過對其進行了封裝了,我們使用的時
html提交表單到Servlet
mage ima mas png you tps quest getpara col 源碼地址 https://github.com/YouXianMing/Java-Web-Study/tree/master/Servlet-Form 演示效果(註意post與g
使用iframe實現頁面無刷新提交表單
fin 友好 frame you itl 圖片 項目需求 scripts tel iframe提交表單其實比ajax要方便一些,當然ajax也有ajax的好處,只是ajax編碼處理有時有些麻煩,雖然經過轉碼是可以解決中文問題,但如果直接使用iframe不存這些問題了,下面來
織夢提交表單不進行跳轉
emp 管理 echo style ech history 文件 進行 跳轉 找的plus文件裏的diy.php 在100行 $bkmsg = ‘發布成功,請等待管理員處理...‘;後面添加echo "<script>alert(‘提交成功!‘); histor
ajax提交表單,並且可以支持文件上傳
ons 成功 引入 spl [0 ror bsp str 不能 當我們提交表單但是又不想要刷新頁面的時候就可以考慮使用ajax來實現提交功能,但是這有個局限就是當有文件上傳的時候是行不通的,下面借助於jquery.form可以很方便滿足我們的需求. 1.表單寫
jQuery中使用ajaxSubmit提交表單
target targe 表單 tar 使用 sdn get .net net 1.http://www.cnblogs.com/liuhongfeng/p/5150389.html 2.http://blog.csdn.net/baidu_29119747/article