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 },

view code

最终显示结果如下:

后话: 刚开始是在后台使用map作为传值,js中解析map比较复杂,后来改用json后方便多了。

时间: 2024-10-07 09:32:32

java后台配置信息如何传递到前端jsp页面的相关文章

关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件

找了这么久资料,总算解决了 感谢博客园:http://www.cnblogs.com/xsht/p/5275081.html 感谢百度:http://zhidao.baidu.com/link?url=Vz4TlygvnMyYVj105bCuzkusjF0G5rM6opHvEzhcCaJK5s1gFUZ3PBgAWCNsfY1RmtPf4ZEo8EV_Gd7SYKV4S_ 在有Struts部署的Java EE环境中,我们一般把jsp页面写在WebRoot\WEB-INF\content 目录下,

后端model传入前端JSP页面中的值判断后再取值

所遇到的问题后端model传入前端JSP页面中的值通过foreach循环内要满足条件才能取值给Div中,我们知道jsp页面中可以直接用EL表达式取值,格式就是${"model中传来的数据"},但是我要把传过来的数据判断后再取值就遇到了问题,通过查百度发现了一个方法,下面就分享一下. 1 <c:forEach var="v" items="${page.objectList}"> 2 <tr> 3 <td style=

如何把后台的复选框值传给jsp页面?

第一步:现在后台把获取到复选框value值,把值用字符串拼接,用modelandview发送给页面. 1 StringBuffer s=new StringBuffer(); 2 for (Muen muen : li) { 3 s.append(muen.getId()+","); 4 } 5 modelAndView.addObject("r", r); 6 modelAndView.addObject("roleinfo",s.toStri

配置Eclipse编写HTML/JS/CSS/JSP页面的自动提示

我们平时用eclipse开发jsp页面时智能提示效果不太理想,今天用了两个小时发现了eclipse也可以像Visual Studio 2008那样完全智能提示HTML/JS/CSS代码,使用eclipse自带的插件,无需另外安装插件,具体步骤如下 1.打开eclipse→Windows→Preferences→Java→Editor→Content Assist 修改Auto Activation triggers for java的值为:zjava   点击apply按钮 如图: 2.继续打开

JAVA后台配置,APP请求跨域问提

package com.szx.util; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.springframework.stereotype.Component; im

java将配置信息写在数据库(利用反射)

Demo出处: 1. package com.fpx.pcs.prealert.process.xml.service.impl; public class CainiaoPushMessageServiceImpl implements ICainiaoPushMessageService { @Resource private CommonImpl commonImpl; @Override public ResultMessage execute(String xml, String ms

配置Eclipse编写HTML/JS/CSS/JSP页面的自动提示。

1.打开eclipse→Windows→Preferences→Java→Editor→Content Assist 修改Auto Activation triggers for java的值为:zjava   点击apply按钮 2.继续打开JavaScript→Editor→Content Assist 修改Auto Activation triggers for javaScript的值为:zjs   点击apply按钮 3.继续打开web→html Files→Editor→Conten

Struts2框架里面action与前端jsp页面进行交互路径问题---》一个对话框里面有很多超链接,进行相应的跳转

一个对话框里面有很多超链接,右边是点击超链接跳转到的相应页面(在一个页面上就相当于点击该超链接时候,就把该简短页面置顶):这个问题困扰我两天:还请大神给我解决,也没有解决,我仔细对比了相关路径,后面添加就成功了!! jsp相应路径不正确代码:1.因为这个是jsp页面,所以在访问时候就可以自动添加上相应的路径,如下图,结果不能访问,直接跳转到登录页面 浏览器上显示路径是: 2.在相应超链接前面添加获取该路径,也失败:其中${ctx}是自定义的获取浏览器地址 3.正确路径:

springmvc 在前端jsp页面,select标签显示复合条件。和 session跨页面操作。

在jsp的select标签中,显示一个级联且带有复合查询的结果的select标签. 方法是,在这个类中,定义一个字段,extend,然后把他的get属性,重写为需要的业务 如下 private String extend; public String getExtend() { return this.zhouyiIndex.getName() + "卦 "+this.yaoId+"爻:"+this.yaoContent.substring(0,this.yaoCo