jsp 将java对象转json对象 (自定义EL函数)
功能:在 jsp 页面将 java对象 转换为 json对象 (使用自定义EL函数实现)
步骤:
- 1. 创建 JSP EL 工具类
- 2. 创建 tld 文件
- 3. 配置 web.xml 文件
- 4. 完成 jsp 调用
1. 创建 JSP EL 工具类
package com.ljw.taglib;import com.alibaba.fastjson.JSON;/*** JSP EL 工具类**/
public class ElCommons {/*** 将对象中存在值的字段转换成为json串* @param obj* @return*/public static String toJsonString(Object obj){// 将java对象转换为json字符串// * 注意:我这里使用的是阿里巴巴的fastjson转换,可根据自己使用的json库调用转换方法String jsonString = JSON.toJSONString(obj); return jsonString;}
}
2. 创建 tld 文件(文件存放地址 /WEB-INF/el-common.tld)
<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" version="2.1"><tlib-version>1.0</tlib-version><short-name>el</short-name><!-- 将对象format成json字符串 --><function><!-- 指定当前标签的名称 --><name>toJsonString</name><!-- 指定当前标签的标签处理类 --><function-class>com.ljw.taglib.ElCommons</function-class><!-- 指定EL页面调用名字中实际调用的方法.指定处理类的实际方法.参数和回调函数要写完整路径 --><function-signature>String toJsonString(java.lang.Object)</function-signature><!-- 描述信息。 --><description>将对象 format 成 json 字符串</description><!-- 使用该标签的案例用法 --> <example>${el:toJsonString(value)}</example></function>
</taglib>
3. 配置 web.xml 文件 (在xml中添加此配置)
<jsp-config><!-- 自定义标签库 --><taglib><!-- 配置标签的引用地址 JSP页面中引用时使用--> <taglib-uri>el-common</taglib-uri> <!-- 配置标签的TLD文件地址 --> <taglib-location>/WEB-INF/el-common.tld</taglib-location> </taglib>
</jsp-config>
4. 完成 jsp 调用
4.1 后台设置数据示例(将对象数据添加至 request(根据自己使用的框架编写相应代码,这里使用 springMVC))
/*** 查询商品信息页面* @param id* @return*/
@RequestMapping("/show/{id}")
public ModelAndView show(@PathVariable("id")int id) {ModelAndView view = new ModelAndView("/base/commodity/commodity_show");CommodityVo model = commodityService.findById(id);view.addObject("model",model); // 设置 model 对象数据return view;
}/*** 修改商品页面* @param id* @return*/
@RequestMapping("/update_page/{id}")
public ModelAndView update_page(@PathVariable("id")int id) {ModelAndView view = new ModelAndView("/base/commodity/commodity_update");Commodity model = commodityService.selectByPrimaryKey(id);view.addObject("model",model); // 设置 model 对象数据return view;
}
4.2 jsp 使用示例(导入自定义 taglib)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="el-common" prefix="el" %><!DOCTYPE HTML>
<html>
<head>
<title>自定义 el 函数</title>
</head>
<body><script type="text/javascript">var jsonData = ${el:toJsonString(model)}; // model 为后台设置的对象console.log(jsonData); // 输出 json 对象</script>
</body>
</html>
jsp 将java对象转json对象 (自定义EL函数)相关推荐
- SpringBoot将自定义对象转JSON对象问题研究
SpringBoot JSON序列化自定义对象研究 1. 问题描述 1.1 工程代码 1.2 测试 2. 问题分析 2.1 初步分析结论 2.2 实验验证结论 2.3 问题拓展 3. 结论 摘要(干货 ...
- java 视图对象转换,使用spring boot开发时java对象和Json对象转换的问题_JavaScript_网络编程...
将java对象转换为on对象,市面上有很多第三方jar包,如下: jackson(最常用) com.fasterxml.jackson.core jackson-databind 2.11.2 gso ...
- Java对象转换为Json对象
前言 曾几何时,XML是程序员的宠儿,是数据传输.API.AJAX应用等方面的不二选择,但自从JSON横空出世后,或者你会发觉你身边就有很多人开始抛弃XML,在他们的心目中,JSON已经完全取代了XM ...
- java对象和json对象之间互相转换
2019独角兽企业重金招聘Python工程师标准>>> import java.util.ArrayList; import java.util.Collection; import ...
- java对象与json对象间的相互转换的方法
String json=JSON.toJSONString(user);//关键 1.简单的解析json字符串 首先将json字符串转换为json对象,然后再解析json对象,过程如下. 1 JSON ...
- java map转JSON对象
java map转JSON对象 net.sf.json.JSONObject.fromObject(map)
- js中自定义对象、json对象、json字符串、普通js对象 --js学习那本书上的
4.7 自定义对象 JS除了内置对象之外,还允许我们程序自己定义属于我们自己的对象,在JS中自定义对象的方式有2种:通过构造器创建对象,通过初始化器创建对象. 4.7.1 构造器创建对象(原生JS对象 ...
- js中自定义对象、json对象、json字符串、普通js对象
4.7 自定义对象 JS除了内置对象之外,还允许我们程序自己定义属于我们自己的对象,在JS中自定义对象的方式有2种:通过构造器创建对象,通过初始化器创建对象. 4.7.1 构造器创建对象(原生JS对象 ...
- java对象与json对象间的相互转换
工程中所需的jar包,因为在网上不太好找,所以我将它放到我的网盘里了,如有需要随便下载. 点击下载 1.简单的解析json字符串 首先将json字符串转换为json对象,然后再解析json对象,过程如 ...
最新文章
- 原生html小游戏,原生JS实现别踩白块小游戏(一)
- linux哪个命令可以切换工作目录?如何显示当前所在的目录,Linux cd命令:切换目录...
- 【猜画小歌】辅助插件FunnyDraw江湖召集令
- python2048小游戏程序设计大作业_C语言大作业报告——2048小游戏程序
- 字符串:1.存储结构
- jsp篇 之 指令元素和动作元素
- eclipse导入源码
- layui 读取本地excel内容_Python操作Excel基础(1)
- Java 1.1.3 修改字符串、不可变字符串
- 第 5 章 输入输出管理
- Lyft无人车战略揭秘:两个团队并行,用百度Apollo,想定行业标准
- Object.keys()返回对象自身可枚举属性组成的数组
- basys3芯片型号xc7a35tcpg236-1
- Hbase预分区入门
- 双系统安装deepin20_win10安装deepin双系统
- 【obs-studio开源项目从入门到放弃】windows 窗口采集和桌面采集的解决方案
- AppleStore 原始ipa文件提取
- 自定义控件之下拉刷新列表
- WIN10无法启动(启动画面转圈卡死)的解决方法
- Nature Neuroscience:怀孕导致人类大脑结构的长久改变