SSM项目开发日记03-利用JSP自定义标签来实现JSTL转JSON对象

SSM项目开发日记03-利用JSP自定义标签来实现JSTL转JSON对象

>>>2021-07-13


出于需求,要在页面获取JSTL标签获取到的对象转成JSON对象操作。

参考文章如下:

java对象转js对象_直到世界的尽头-CSDN博客

接下来直接记录代码

1.新建并编辑xf.tdl,在IDEA中的位置如下

在这里插入图片描述

<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
		http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
        version="2.0">
    <description>custom JSTL 1.1 function library</description>
    <display-name>JSTL</display-name>
    <tlib-version>1.1</tlib-version>
    <short-name>xf</short-name>
    <uri>com.data.web.view.function</uri>
    
    <function>
        <description>对象序列化为json字符串</description>
        <name>toJSON</name>
        <!-- 下面这里对应java类的路径,名称       -->
        <function-class>com.wilk.utils.JSONTool</function-class>
        <!--    依次对应返回类型,方法名和参数类型        -->
        <function-signature>java.lang.String toJSON(java.lang.Object)</function-signature>
    </function>

</taglib>
2.新建JSONTool类,并写出toJSON方法,注意类和方法的修饰符
package com.wilk.utils;

import com.fasterxml.jackson.databind.ObjectMapper;

/**
 * @author :WILK
 * @ClassName JSONTool
 * @date 2021/7/13 14:19
 * @Version 1.0
 * @apiNote :
 */
public abstract class JSONTool {
    public static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();

    public static String toJSON(Object obj) {
        try {
            return OBJECT_MAPPER.writeValueAsString(obj);
        } catch (Exception e) {

            return null;
        }
    }
}

3.在前端页面使用,使用前先引用
<%@taglib uri="com.data.web.view.function" prefix="xf" %>

​ 然后在js中使用即可

var u=${xf:toJSON(cUser)};

​ 也可存入sessionStorage中,对比查看一下,代码如下:

  function setSession(sessionStr, setObj) {
        sessionStorage.removeItem(sessionStr);
        window.sessionStorage.setItem(sessionStr, JSON.stringify(setObj));
    }
    var cUser = "${cUser}";
    var u=${xf:toJSON(cUser)};
    function setUser2Session() {
        setSession("cUser", cUser);
        setSession("u", u);
    }
     $(document).ready(function () {
        setUser2Session();
    });

运行后进入页面并按F12,查看

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-grjDZBPU-1626175562530)(C:\Users\19771\AppData\Roaming\Typora\typora-user-images\image-20210713192324770.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jLy3NEW2-1626175562532)(C:\Users\19771\AppData\Roaming\Typora\typora-user-images\image-20210713192344514.png)]

运行后进入页面并按F12,查看

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值