首页 > 代码库 > java后台配置信息如何传递到前端jsp页面
java后台配置信息如何传递到前端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
1 { 2 field: ‘status‘, 3 title: ‘状态‘, 4 halign: ‘left‘, 5 align : ‘left‘, 6 width : ‘100‘, 7 formatter:function(value,row,index){ 8 var desc = getStatusDesc(value); 9 return desc;10 }11 },
最终显示结果如下:
后话: 刚开始是在后台使用map作为传值,js中解析map比较复杂,后来改用json后方便多了。
java后台配置信息如何传递到前端jsp页面
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。