jfinal js 拦截_jfinal全局数据拦截器
封装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全局数据拦截器相关推荐
- SpringBoot 全局异常拦截器
点击关注公众号,利用碎片时间学习 通常jsr303参数校验,由于返回的数据提示很不友好(bindException), 需要定义全局异常拦截器,将信息友好的显示给用户 本文以处理登录为例 定义全局异常 ...
- SpringBoot 拦截器和AOP自定义注解进行数据拦截实例
声明:本文纯属个人随手笔记,如果对您有参考价值我十分开心,如果有存在错误,或者有更好的解决办法也麻烦您留言告诉我,大家共同成长,切勿恶言相. 欢迎加入资源共享QQ群:275343679,一起发现知识. ...
- Aop做拦截器 获取请求头数据 修改请求数据拦截返回值修改返回值数据
AOP 拦截器拦截请求头 修改请求参数 请求数据拦截 本页面 按住 ctrl 和 F 搜索 @Before("doPointcut()") 返回值数据拦截 本页面 按住 ctrl ...
- SpringMVC拦截器HandlerInterceptor拦截后返回数据或视图View
SpringBoot版本:2.1.6.RELEASE SpringMVC版本:5.1.8.RELEASE SpringMVC拦截器 比如说在SpringMVC Web环境下,需要实现一个权限拦截的功能 ...
- 网页自动弹窗被拦截 html,JS弹出新窗口被拦截的解决方法
在Web编程中,使用JS在新窗口打开页面的时候,会遇到被浏览器拦截的情况,那么,我们如何才能让JS打开新窗口不被浏览器阻止呢? 一.问题一 一般情况下,如果直接在js中调用window.open()函 ...
- springboot全局异常拦截
1.异常拦截类的创建 package com.liqi.web.core.exception;import org.springframework.web.bind.annotation.Except ...
- 微信小程序全局路由拦截
前言 略 微信小程序全局路由拦截方法1 目前微信小程序没有全局路由拦截.要想实现全局路由拦截,需要自己进行扩充.具体参考这里:微信小程序–路由拦截器. 实现思路: 替换Page的参数对象的onShow ...
- 微信小程序 全局路由拦截
1. 微信小程序 全局路由拦截 // utils/filter.js function loginCheck(pageObj) {if (pageObj.onLoad) {let _onLoad = ...
- 深入了解 Vue 响应式原理(数据拦截)
前言 在上一章节我们已经粗略的分析了整个的Vue 的源码(还在草稿箱,需要梳理清楚才放出来),但是还有很多东西没有深入的去进行分析,我会通过如下几个重要点,进行进一步深入分析. 深入了解 Vue 响应 ...
最新文章
- 日志管理系统的重要性---怼死你的客户
- chrome 常用快捷键(可以摆脱鼠标哦)
- 三大技术突破,网易云信实现在线音乐教育极速上线
- java 中random类使用_Java中的天使和魔鬼:Unsafe类
- redux 存值 及 取值 的操作
- vc++ 提取网页上的文字_网页内容不让你复制?老师傅教的这招太绝了,1键提取全网文字...
- shell(希尔排序)
- hive serde 序列化与反序列化 - 一行数据写入hive表
- 基本排序算法之1——希尔排序shellsort
- matlab 效度,量表的信度、效度检验方法小结
- 数据集 过滤时 RecordCount 属性
- 为什么文本框里的字只显示一半_Word文本框文字显示不全、无法选择、不能编辑调整大小和跨页,怎么解决...
- 0.靡不有初 鲜克有终
- iphone11各机型对比_9款旗舰系统对比 iPhone 11居然不是最好用的
- 银河证券的系统也错的太厉害了吧..
- node启动之后内存占用过高解决方案
- 盛世昊通:数字汽车的未来由谁来书写
- 汇编指令-MRS(读)和MSR(写)指令操作CPSR寄存器和SPSR寄存器使用(1)
- scanf,sscanf高级用法
- 【BZOJ4545】DQS的trie