java后台json如何传递到jsp中解析
需求: 系统前端jsp使用的是easyUi的datagrid展示了一些任务信息,任务信息中有个状态信息显示的值是数字,
需要根据后台保存的映射关系,将状态显示为描述信息。
原来的jsp前端显示:
解决方案,在后台使用创建json数据,然后传递到前台jsp页面中,并使用eval解析后获取值对应的描述,操作如下:
1. 创建json数据(java)
- //任务列表
- public static final String TASK_PENDING = "0";
- //命令处理成功
- public static final String TASK_COMMAND_SUCCESS = "1";
- //命令处理失败
- public static final String TASK_COMMAND_FAILED = "2";
- //下载处理成功
- public static final String TASK_DOWN_SUCCESS = "3";
- //下载处理失败
- public static final String TASK_DOWN_FAILED = "4";
- //邮件发送成功
- public static final String TASK_MAIL_SUCCESS = "5";
- //邮件发送失败
- public static final String TASK_MAIL_FAILED = "6";
- //处理成功
- public static final String TASK_COMPLETE = "99";
- public static String getStatusJson(){
- JSONObject statusJson = new JSONObject();
- statusJson.put(TASK_PENDING, "待处理");
- statusJson.put(TASK_COMMAND_SUCCESS, "脚本执行成功");
- statusJson.put(TASK_COMMAND_FAILED, "脚本执行失败");
- statusJson.put(TASK_DOWN_SUCCESS, "文件下载成功");
- statusJson.put(TASK_DOWN_FAILED, "文件下载失败");
- statusJson.put(TASK_MAIL_SUCCESS, "邮件发送成功");
- statusJson.put(TASK_MAIL_FAILED, "邮件发送失败");
- statusJson.put(TASK_COMPLETE, "完成");
- return statusJson.toString();
- }
2. 传值(java)
- String statusJson = Constants.getStatusJson();
- resultMap.put("statusJson",statusJson);
3. 前端jsp中使用js获取值(js)
- //根据传入的状态代码获取状态描述
- function getStatusDesc(key){
- var obj = eval("(" + '${statusJson}' + ")");
- return obj[key];
- }
4. 使用datagrid的formatter调用function
- {
- field: 'status',
- title: '状态',
- halign: 'left',
- align : 'left',
- width : '100',
- formatter:function(value,row,index){
- var desc = getStatusDesc(value);
- return desc;
- }
- },
view code
最终显示结果如下:
后话: 刚开始是在后台使用map作为传值,js中解析map比较复杂,后来改用json后方便多了。
java后台json如何传递到jsp中解析的更多相关文章
- 使用Maven构建Java Web项目时,关于jsp中引入js、css文件路径问题。
今天有点闲,自己动手搭建一个Java Web项目,遇到jsp中引入js.css文件时路径不正确的问题,于是在网上查阅了很多资料,最终都无法解决问题,于是,上stackoverflow找到了解决方法,这 ...
- [原创]java WEB学习笔记36:Java Bean 概述,及在JSP 中的使用,原理
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- SSH 框架controller向jsp传递List jsp中使用el表达式获取
mvc可以使用ModelAndViev传递数据选择跳转的视图 controller中的代码, 把一个模拟的表单studentListSimulate传给ModelAndView @RequestMap ...
- Java后台JSON数据的使用
1. List集合转换成json代码 List list = new ArrayList(); list.add( "first" ); list.add( "secon ...
- asp.net中json格式化及在js中解析json
类: public class UploadDocumentItem { public UploadDocumentItem() { } public string DocMuid { get; se ...
- 在SqlServer 中解析JSON数据 [parseJSON] 函数 数据库中 解析JSON
使用如下: SELECT * FROM parseJSON('{ "联系人": { "姓名": "huang", "网名" ...
- JSP详细解析
原文地址: http://www.cnblogs.com/rollenholt/archive/2011/07/04/2097376.html http://www.cnblogs.com/jy024 ...
- 前台传递给后台的JSON字符串中的引号 “” 在JAVA后台被转义为 "
前台传递给后台的JSON字符串中的引号 "" 在JAVA后台被转义为 " 1.问题: 前台数据,JSON字符串带有引号 "" ,数据被传递到后台 ...
- java传递json数据到前台jsp
在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如: JSON字符串: var str1 = '{ &q ...
随机推荐
- Windows WaveIn 录音
设置采集音频格式 WAVEFORMATEX waveform; //采集音频的格式,结构体 waveform.wFormatTag = WAVE_FORMAT_PCM;//声音格式为PCM wavef ...
- printDocument设置适应边框打印 特重要 找了半天 设置一个属性即可
private void pd_PrintPage(object sender, PrintPageEventArgs e) { e.Graphics.SmoothingMode = System.D ...
- zabbix客户端安装和配置(linux)
zabbix源码安装客户端 # tar -xvf zabbix-.tar.gz # mv zabbix- zabbix # cd zabbix # ./configure --prefix=/usr/ ...
- AME_IExpense费用报表通过AME审批简单例子(案例)
2014-05-30 Created By BaoXinjian
- Python rpartition() 方法
描述 Python rpartition() 方法用来根据指定的分隔符将字符串进行分割. 如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符前面的子字符串,第二个为分隔符本身,第三个为分 ...
- WordPress For SAE进入后台
今天遇到一个非常easy可是花了我半个小时的问题:怎样进入WordPress For SAE后台. 介于百度上没有搜索到.所以写了这篇博客,简单,but有用. 首先我们会訪问自己的网站:独立游戏者er ...
- 本地PC安装Centos 6.5 操作手册及遇到的问题
我采取的是使用U盘安装 一.准备工作 1.下载Centos6.5 ISO文件 我在官网上下的6.5版本CentOS-6.5-x86_64-bin-DVD1.iso, 由于CentOS-6.5-x86_ ...
- 音频特征提取——pyAudioAnalysis工具包
作者:桂. 时间:2017-05-04 18:31:09 链接:http://www.cnblogs.com/xingshansi/p/6806637.html 前言 语音识别等应用离不开音频特征的 ...
- redis投票计数
<?php /** * * 缓存利用测试,这里我们获取传过来的投票数据,每次加1,如果增加到了设定值,才将投票 * 次数写回mysql,这大大减轻了与mysql链接的开销,redis的使用由此可 ...
- ASP.NET 解决URL中文乱码的解决
暂时先记录一个方法: 在Web.config文件中configuration下的system.web下加入一个配置项:globalization,主要是设置其requestEncoding,貌似中文系 ...