spring mvc中返回ModelAndView後執行ajax非同步請求
起初是想如果返回的ModelAndView在jsp中的物件是否可轉為jquery可讀的json物件,我想對物件的資料進行單獨的處理,其他的資料直接用c標籤顯示在頁面上。但是查資料然後自己試都不行,只能取單獨的屬性值然後進行處理。全部取出比較麻煩。
後來又有了想法,一部分資料通過返回ModelAndView進行顯示,部分資料通過jquery的ajax非同步請求進行返回。結果證明這種方法可行,這樣我們需要的資料就在一個頁面上顯示了。然後在這裡做一個記錄。
因為考慮到很多方法的重用,需要把通用的方法提出來,比如select下拉,幾個頁面顯示的內容都有可能是一樣的。
先貼上後臺的程式碼:
view部分配置如下:
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/jsp/"
p:suffix=".jsp"
/>
我的想法是這樣的,當對 jsp/getAllUserInfo.do發出請求的時候,返回資料頁面,頁面通過$(document).ready();來呼叫js,去非同步請求 jsp/getSelect.do,顯示非同步請求的資料。
貼上前端的程式碼:
jstl.jsp頁面:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>user page</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script type="text/javascript" src="../js/jquery-1.4.4.min.js"></script> <script type="text/javascript" src="../js/commons.js"></script> <script type="text/javascript" src="../js/jstl.js"></script> <script type="text/javascript"> $(document).ready(function(){ getSelect(); }); </script> </head> <body> <h5>${allUserInfo.userInfo.username}</h5> <h5>${allUserInfo.userInfo.password}</h5> <h5>${allUserInfo.name}</h5> <select id="select1"> <c:forEach items="${allUserInfo.list}" var="e"> <option value="${e}">${e}</option> </c:forEach> <script> $("#select1").val("${allUserInfo.name}"); </script> </select> <p/> <select id="select2"> </select> </body> </html>
ajax非同步請求:
function PostJSONQuery(postURL,json, on_success)
{
$.ajax({
url: postURL,
type:"post",
contentType : "application/x-www-form-urlencoded;charset=utf-8",
processData : true,
data: json,
dataType: "json",
success: function(response) {
on_success(response);
},
error: function (xhr, ajaxOptions, thrownError) {
//showAlertInfo("error");
}
});
}
function getSelect(){
alert("--");
PostJSONQuery("getSelect.do",{},function(response){
for(var i=0;i<response.length;i++){
$("#select2").append("<option value="+response[i]+">"+response[i]+"</option>");
}
$("#select1").val("晒太陽");
});
}
這裡有一個執行順序問題,首先肯定是返回頁面,將view資料顯示出來,然後再去頁面載入完成後會去呼叫ajax請求,
所以先會執行:
$("#select1").val("${allUserInfo.name}");
然後執行
alert("--");
最後執行
$("#select1").val("晒太陽");
因為最近比較空,在看自己之前做的專案,看看那邊做的不好,因為才參加工作半年,前面幾個專案寫的程式碼質量有點爛,現在看看真的是有點看不下去了。。。。。
以上是我學習發現的,拿出來給大家分享一下。
相關推薦
spring mvc中返回ModelAndView後執行ajax非同步請求
起初是想如果返回的ModelAndView在jsp中的物件是否可轉為jquery可讀的json物件,我想對物件的資料進行單獨的處理,其他的資料直接用c標籤顯示在頁面上。但是查資料然後自己試都不行,只能取單獨的屬性值然後進行處理。全部取出比較麻煩。 後來又有了想法,一部分資料
Spring MVC中返回JSON資料的幾種方式
我們都知道Spring MVC 的Controller方法中預設可以返回ModeAndView 和String 型別,返回的這兩種型別資料是被DispatcherServlet拿來給到檢視解析器進行繼續處理返回頁面的,而不是直接返回給客戶端的。有時候我們需要發請求後讓服務端直接返回一些資料,不再經過Dispa
Spring MVC中返回JSON數據的幾種方式
return res set 轉換 public servlet 兩種 dispatch ont 我們都知道Spring MVC 的Controller方法中默認可以返回ModeAndView 和String 類型,返回的這兩種類型數據是被DispatcherServlet
Spring MVC中 ModelAndView返回頁面不正確
問題和解決 UserController.java檔案 @Controller @RequestMapping("user") public class UserController { @RequestMapping("/test3") public Model
解決Spring MVC @ResponseBody返回中文字符串亂碼問題
有效 per log bean dia media converter 原因 ons 引起亂碼原因為spring mvc使用的默認處理字符串編碼為ISO-8859-1 具體參考org.springframework.http.converter.StringHttpMess
Spring MVC 中@autowired 註入後為null
springMVC遇到一個很奇怪的問題就是@Autowired註入失敗,首先我去檢查了該類是否被spring 容器托管 ,發現相應的類已經添加@controller、@service等註解,說明該類已經為Spring類,不存在非spring無法使用@Autowired註入的問題。在網上也查了很多文章,都沒有解
spring mvc中DispatcherServlet如何得到ModelAndView的
首先看下面這種張圖,這張圖說明了spring mvc整體的流程。 本文講的就是如何從DispatcherServlet中得到ModerAndView的過程。 首先看DispatherServlet這個類的doService方法,學過servlet的人都知道,它是web容器處理請求的入口
spring boot中得定時任務執行一段時間後突然停了 排查過程
在spring boot 專案中設定了一些定時任務,前幾天還執行得好好的,突然有一天就不再執行了,基本上呢都是執行了四天左右,定時任務停掉不在運行了,然後重啟程式定時任務就好使了,出現這麼兩次,第三次是在重啟以後第三天出現定時任務不再執行。感覺莫名其妙,查了好多資料,以下是關於我查到的關於定時任
spring mvc中ajax的呼叫(在上一篇的基本上)
spring mvc中ajax的呼叫 目錄 三、測試 一、在網格根目錄下建 resources\css resources\css\css.css @CHARSET "UTF-8"; .cssTable{ border:1px blue solid;
在jsp頁面中使用EL表示式無法解析spring mvc中Model或者ModelAndView傳的值
1、在spring-mvc的配置檔案中已經配置jsp的檢視解析器 <bean id="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver">&
Spring MVC中Controller如何將資料返回給頁面
要實現Controller返回資料給頁面,Spring MVC 提供了以下幾種途徑: ModelAndView:將檢視和資料封裝成ModelAndView物件,作為方法的返回值,資料最終會存到HttpServletRequest物件中! Model物件:通過給方法新增引用
spring mvc 中通過controller 傳遞物件給jsp,並且資料繫結,在修改值後回傳物件給controller
在controller 中需要指定 sessionAttribute的key @sessionattributes註解應用到Controller上面,可以將Model中的屬性同步到session當中。 當需要清除session當中的值得時候,我們只需要在
Spring-MVC中ModelAndView物件所新增的內容在前端用EL表示式獲取不到的問題
原來是IntelliJ IDEA預設生成的web.xml文件的頭部不正確 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "htt
關於spring-mvc中使用ajax呼叫後臺接口出現400 bad request的問題解決方案
經過一段時間的學習。發現之前寫的這篇部落格 關於ajax 呼叫後臺 出現400bad request 有很大問題。特地重新編輯。 先描述下我的問題: 前端程式碼: function test() { $.ajax({ url:'
spring MVC中ajax請求路徑
spring MVC中ajax請求路徑 或 檔案載入路徑問題 在springMVC中,由於每個view一般都是一個放在統一路徑下的jsp,這些view由不同的controller來呼叫,但有可能兩個不同的controller會呼叫同一個view,而且這時候兩個controller的URL並不在同一層次,
使用HttpURLConnection呼叫url方式訪問spring mvc中的controller並傳json值與返回
package com.zl.test2; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import jav
spring mvc中關於url中傳遞中文亂碼的解決方法
般的 har rac color nco bytes utf8 int span 在傳值過程中,也是亂碼出現的頻繁地。先不說到底是什麽場景了,通常常用的方案有如下幾個 配置指定的filter <!-- 配置請求過濾器,編碼格式設為UTF-8,避免中文亂碼-->
spring mvc中,如何在 Java 代碼裏,獲取 國際化 內容
source 所在 bundle 註入 pre 定義 pan col void 首先,在Spring的application.xml中定義 <bean id="messageSource" class="org.springframework.context.su
Spring MVC 中 HandlerInterceptorAdapter的使用
date oar option 不定 list 異常 attribute std view 一般情況下,對來自瀏覽器的請求的攔截,是利用Filter實現的,這種方式可以實現Bean預處理、後處理。 Spring MVC的攔截器不僅可實現Filter的所有功能,還可以更精確的
Spring MVC 中使用 Google kaptcha 驗證碼
實用 pri 集成 auto req post bsp produce target 驗證碼是抵抗批量操作和惡意登錄最有效的方式之一。 驗證碼從產生到現在已經衍生出了很多分支、方式。google kaptcha 是一個非常實用的驗證碼生成類庫。 通過靈