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)




	1.0
	el

	
	
		
		toJsonString

		
		com.ljw.taglib.ElCommons
		
		String toJsonString(java.lang.Object)

		
		将对象 format 成 json 字符串
		 
		${el:toJsonString(value)}
	

3. 配置 web.xml 文件 (在xml中添加此配置)


	
	
		  
		el-common  
		  
		/WEB-INF/el-common.tld  
	  

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" %>




自定义 el 函数


	

 

你可能感兴趣的:(Java,SpringMVC)