springmvc modelview 返回資料與頁面互動處理
springmvc controller層在與前端頁面進行資料互動時,根據頁面處理需要對modelview響應資料做處理,
舉例說明:
@RequestMapping(params = "action=jumpEduproduct")
public void getEduProduct(HttpServletRequest request, HttpServletResponse response) throws IOException {
logger.info("action=jumpEduproduct=====>");
Map<String,String> paramsMap = new HashMap<String, String>();
String jsonStr = "";
JSONObject jsonObject = new JSONObject();
response.setHeader("Content-type", "text/html;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
// ====處理方式1:
if (StringUtils.isBlank(userId)) {
logger.error("error userid!" );
jsonObject.put("ret",-1);
jsonObject.put("msg", "使用者ID不能為空!");
response.getWriter().print(jsonObject.toString());
return;
}
if (resq.getRet() != 0){
jsonObject.put("msg","處理異常, 返回錯誤資料!" );
jsonObject.put("ret",resq.getRet());
jsonObject.put("msg", resq.getMsg());
response.getWriter().print(jsonObject.toString());
return;
}
........
// ====處理方式2:
YdEduResp resq = JSON.parseObject(jsonStr, YdEduResp.class);
if ((appFlag == 0 || appFlag == 1)){
if (resq.getRet() == 0){
directUrl = resq.getCallbackurl() + "&accesstoken=" + resq.getAccesstoken() + "&random=" + Math.random();
System.out.println("success direct:" + directUrl);
response.getWriter().write("<script>window.location.href=\'" + directUrl + "\';</script>");
// response.getWriter().write("<script>window.open(\'" + directUrl + "\','_blank')</script>");
return;
}else{
directUrl="http://www.baidu.com";
System.out.println("==>fail direct2:" + directUrl+"__fail reason:"+resq.getMsg());
response.getWriter().write("<script>window.alert(\'介面響應異常,返回XXX首頁!\');window.location.href=\'" + directUrl + "\';</script>");
return;
}
對應方式1 對應某頁面page發起請求,響應json物件資料到page頁面,page進行解析處理:
page頁面先發起ajax請求:
$('.govdiv').click(function(){
// $.getScript( $(this).attr('data-url') );
$.ajax({
url : $(this).attr('data-url'),
type : "POST",
data : JSON.stringify(data), //轉JSON字串
dataType: 'json',
contentType:'application/json;charset=UTF-8',
success : function(result) {
dispatch(result);
}
});
result為controller的響應資料,click()提交請求響應成功後對響應資料進行解析:
function dispatch(data){
if(data.ret!=0)
alert(data.msg);
else{
if (data.accessToken != null && data.accessToken != ""){
// window.location.href = data.callbackurl +"&accesstoken=" + data.accesstoken+"&tmp="+Math.random();
window.open(data.callbackurl +"&accesstoken=" + data.accessToken+"&tmp="+Math.random());
}else{
// window.location.href = data.callbackurl;
window.open(data.callbackurl);
}
}
對應方式2:
直接開啟新視窗或重定向到某頁面,不與頁面進行互動,一般用於異常場景,響應資料不需要前端解析直接對使用者進行提示。
相關推薦
springmvc modelview 返回資料與頁面互動處理
springmvc controller層在與前端頁面進行資料互動時,根據頁面處理需要對modelview響應資料做處理, 舉例說明: @RequestMapping(params = "action=jumpEduproduct") publi
springMVC返回資料到頁面的幾種方式
Spring MVC返回資料到頁面有幾種不同的方式,它們各自適用的情況也不同,下面簡單總結一下。 對於每種方式都給出Controller中的相應方法。 首先還是頁面user_add.jsp。它既是發
spring boot 統一返回資料及全域性異常處理
記錄關於spring boot 統一返回資料及全域性異常處理的操作實現。 一、統一返回資料 1、定義一個超類:BaseResponseVo @Data @NoArgsConstructor public class BaseResponseVo{ protected Integer r
react-native 頁面B to 頁面C,頁面C返回資料給頁面B
/** * Sample React Native App * https://github.com/facebook/react-native * * @format * @flow */ import React, {Component} from 'react'; import
jsp頁面中比較“接收資料”與“頁面迴圈資料”是否相等
頁面中關係運算符: -lt 小於 -le 小於或者等於 -gt 大於 -ge 大於或者等於 -eq 等於 -ne 不等於 判空:<c:if test="${empty&
介面返回資料與資料資料的對比、資料表之間的拆分重組對比
import pymysql import datetime import json import decimal import requests import warnings """ 超市供應鏈資料測試:1、product表和supplier表拆分重組與supply_introduce表對比
android webview 中網頁資料與js互動
html.getSettings().setJavaScriptEnabled(true);html.getSettings().setDefaultTextEncodingName("UTF-8");html.getSettings().setLayoutAlgorith
html5 canvas繪製圓形印章,以及與頁面互動
來源:https://www.cnblogs.com/hello-word1/p/5137626.html <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF
winform中執行cmd命令幫助類,提取有效輸出資料、錯誤返回資料與實時顯示命令輸出(可傳參)
寫的東西用到了執行cmd命令,於是自己擴充寫了個幫助類,實時顯示命令輸出可能對大家最為有用,此方法與網上流傳的不同點在於可以在命令輸出完成後回撥,可傳入一個object型別的引數。 程式碼: using System; using System.Collections.G
java_springMVC_返回資料到頁面
1. 返回資料到頁面方式一:使用setAttribute。@RequestMapping(method = RequestMethod.GET, value = "/dologin")public String dologin(HttpServletRequest reque
SpringMVC之返回頁面資料
1. HttpServletRequest request 直接使用request.setAttribute(Key, Value); jsp頁面: <form action="user/add1.do" method="post"> 賬號:<input typ
Struts2與AJAX互動返回JSON資料
首先需要匯入六個jar包 這是jsp程式碼 function queryData(pageNum) { $.ajax({ url:"queryNextPage", data:{
layui進行分頁處理,後端返回資料沒有count欄位,需要單獨獲取再新增到資料中,再進行項渲染,另有layui表格資料增刪改查前後端互動
整體效果圖如下: (1)分頁前端介面處理 (2)分頁後端的資料處理 具體程式碼如下: 前端介面程式碼:包括分頁,增刪改查,重新整理(搜尋功能還沒做,後端是java程式碼) <!DOCTYPE html> <html> <hea
小程式資料處理與頁面跳轉
一、獲取各種值 設定data值: xx.js Page({ data: { text: "This is page data.", sliderOffset: 0, sliderLeft: 0, state:{ genre:[],
Struts2框架與頁面的資料互動(2)--OGNL表示式&ValueStack
3、Struts2框架與頁面的資料互動(2)--OGNL表示式&ValueStack 上接Struts2礦街與頁面的資料互動(1)--資料封裝:https://blog.csdn.net/biggerchong/article/details/84564912 目錄
Struts2框架與頁面的資料互動(1)--資料封裝
2、Struts2框架與頁面的資料互動(1)--資料封裝 上接Sturts2框架入門學習:https://blog.csdn.net/biggerchong/article/details/84540183 目錄 2、Struts2框架與頁面的資料互動 2.1
springMVC使用modelAndView返回介面與資料,jstl迴圈list
1.必要的maven依賴 <!-- JSP相關 --> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId&g
【SpringBoot】Http請求統一異常(返回資料)處理與單元測試
對返回資料格式的統一 首先規定一下錯誤的輸出格式: { "code": 1, "msg": "提示", "data": null } data是一個物件 首先定義一個http請求返回的類 package cn.
springMVC之與jsp頁面互動1
突然想寫這個的目的就是網上寫的教程大多都不全,不夠系統,想借此來進行系統的學習,讓初學者不在迷茫,此外也可以當做自己的移動筆記,讓自己對這些框架更加熟悉,如有疑問歡迎大家來交流。 接下來要寫的主要是springMVC與jsp的互動,springMVC與安卓
Delegate 類 概念 與MVC模式不同,model/view結構沒有用於與使用者互動的完全獨立的元件。一般來講, view負責把資料展示給使用者,也處理使用者的輸入。為了獲得更多的靈性性,互動通過d
Delegate 類 概念 與MVC模式不同,model/view結構沒有用於與使用者互動的完全獨立的元件。一般來講, view負責把資料展示給使用者,也處理使用者的輸入。為了獲得更多的靈性性,互動通過delegagte執行。它既提供輸入功能又負責渲染view中的每個