封装json体。依赖 fastjson。需要的拿走。

此拦截器不处理带文件表单,请自行修改。import com.alibaba.fastjson.JSONObject;

import com.jfinal.aop.Interceptor;

import com.jfinal.aop.Invocation;

import com.jfinal.core.Controller;

import com.jfinal.kit.StrKit;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import javax.servlet.ServletInputStream;

import javax.servlet.http.HttpServletRequest;

import java.io.IOException;

public class DatagramInterceptor implements Interceptor {

private static final Logger log = LoggerFactory.getLogger(DatagramInterceptor.class);

@Override

public void intercept(Invocation inv) {

Controller controller = inv.getController();

process(controller.getRequest());

inv.invoke();

}

public void process(HttpServletRequest request) {

if (request.getAttribute("_params") != null) {

return;

}

//如果是上传文件跳过

if (StrKit.notBlank(request.getContentType()) && request.getContentType().contains("multipart/form-data")) {

return;

}

try (ServletInputStream is = request.getInputStream()) {

byte[] bytes = new byte[is.available()];

is.read(bytes);

String str = new String(bytes, "UTF-8");

JSONObject jsonObject = JSONObject.parseObject(str);

request.setAttribute("_params", jsonObject);

} catch (IOException e) {

e.printStackTrace();

}

}

}

前端ajax调用示例:var json = {

"id": id

}

//相关推荐推荐

$.ajax({

type: "post",

url: '/hello',

data: JSON.stringify(json),

dataType:"json",

async: true,

success: function (res) {

console.log("请求成功");

},

error: function (e) {

console.log('数据返回失败')

}

});

后台代码:controller中实现

jfinal js 拦截_jfinal全局数据拦截器相关推荐

  1. SpringBoot 全局异常拦截器

    点击关注公众号,利用碎片时间学习 通常jsr303参数校验,由于返回的数据提示很不友好(bindException), 需要定义全局异常拦截器,将信息友好的显示给用户 本文以处理登录为例 定义全局异常 ...

  2. SpringBoot 拦截器和AOP自定义注解进行数据拦截实例

    声明:本文纯属个人随手笔记,如果对您有参考价值我十分开心,如果有存在错误,或者有更好的解决办法也麻烦您留言告诉我,大家共同成长,切勿恶言相. 欢迎加入资源共享QQ群:275343679,一起发现知识. ...

  3. Aop做拦截器 获取请求头数据 修改请求数据拦截返回值修改返回值数据

    AOP 拦截器拦截请求头 修改请求参数 请求数据拦截 本页面 按住 ctrl 和 F 搜索 @Before("doPointcut()") 返回值数据拦截 本页面 按住 ctrl ...

  4. SpringMVC拦截器HandlerInterceptor拦截后返回数据或视图View

    SpringBoot版本:2.1.6.RELEASE SpringMVC版本:5.1.8.RELEASE SpringMVC拦截器 比如说在SpringMVC Web环境下,需要实现一个权限拦截的功能 ...

  5. 网页自动弹窗被拦截 html,JS弹出新窗口被拦截的解决方法

    在Web编程中,使用JS在新窗口打开页面的时候,会遇到被浏览器拦截的情况,那么,我们如何才能让JS打开新窗口不被浏览器阻止呢? 一.问题一 一般情况下,如果直接在js中调用window.open()函 ...

  6. springboot全局异常拦截

    1.异常拦截类的创建 package com.liqi.web.core.exception;import org.springframework.web.bind.annotation.Except ...

  7. 微信小程序全局路由拦截

    前言 略 微信小程序全局路由拦截方法1 目前微信小程序没有全局路由拦截.要想实现全局路由拦截,需要自己进行扩充.具体参考这里:微信小程序–路由拦截器. 实现思路: 替换Page的参数对象的onShow ...

  8. 微信小程序 全局路由拦截

    1. 微信小程序 全局路由拦截 // utils/filter.js function loginCheck(pageObj) {if (pageObj.onLoad) {let _onLoad = ...

  9. 深入了解 Vue 响应式原理(数据拦截)

    前言 在上一章节我们已经粗略的分析了整个的Vue 的源码(还在草稿箱,需要梳理清楚才放出来),但是还有很多东西没有深入的去进行分析,我会通过如下几个重要点,进行进一步深入分析. 深入了解 Vue 响应 ...

最新文章

  1. 日志管理系统的重要性---怼死你的客户
  2. chrome 常用快捷键(可以摆脱鼠标哦)
  3. 三大技术突破,网易云信实现在线音乐教育极速上线
  4. java 中random类使用_Java中的天使和魔鬼:Unsafe类
  5. redux 存值 及 取值 的操作
  6. vc++ 提取网页上的文字_网页内容不让你复制?老师傅教的这招太绝了,1键提取全网文字...
  7. shell(希尔排序)
  8. hive serde 序列化与反序列化 - 一行数据写入hive表
  9. 基本排序算法之1——希尔排序shellsort
  10. matlab 效度,量表的信度、效度检验方法小结
  11. 数据集 过滤时 RecordCount 属性
  12. 为什么文本框里的字只显示一半_Word文本框文字显示不全、无法选择、不能编辑调整大小和跨页,怎么解决...
  13. 0.靡不有初 鲜克有终
  14. iphone11各机型对比_9款旗舰系统对比 iPhone 11居然不是最好用的
  15. 银河证券的系统也错的太厉害了吧..
  16. node启动之后内存占用过高解决方案
  17. 盛世昊通:数字汽车的未来由谁来书写
  18. 汇编指令-MRS(读)和MSR(写)指令操作CPSR寄存器和SPSR寄存器使用(1)
  19. scanf,sscanf高级用法
  20. 【BZOJ4545】DQS的trie

热门文章

  1. 基于PyGame的乒乓球和滑雪小游戏
  2. 客户端连接不到服务器上MySQL数据库 解决方法
  3. 爬虫之数据提取jsonpath模块的使用场景和使用方法
  4. 关闭浏览器当前页面:Ctrl+W
  5. 使用深度学习和OpenCV的早期火灾检测系统
  6. 算法工程师面试必考项:二叉树
  7. 干货|对比理解不同概率估计和模型损失函数
  8. Mysql 安装及实践(学习笔记二)
  9. 【总结整理】JS的继承
  10. python文件的基础操作