设为首页 加入收藏

TOP

利用Java注解将常量类生成js文件供前端调用(四)
2015-12-15 23:09:20 来源: 作者: 【 】 浏览:28
Tags:利用 Java 注解 常量 生成 文件 前端 调用
e(), "_");
? ? ? ? ? ? if (map.containsKey(pre)) {
? ? ? ? ? ? ? ? list = map.get(pre);
? ? ? ? ? ? ? ? list.add(end + "-" + field.get(null).toString());
? ? ? ? ? ? ? ? map.put(pre, list);
?
? ? ? ? ? ? ? ? listText = mapText.get(pre);
? ? ? ? ? ? ? ? listText.add(end + "-" + getText(field));
? ? ? ? ? ? ? ? mapText.put(pre, listText);
? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? list = new ArrayList();
? ? ? ? ? ? ? ? list.add(end + "-" + field.get(null).toString());
? ? ? ? ? ? ? ? map.put(pre, list);
?
? ? ? ? ? ? ? ? listText = new ArrayList();
? ? ? ? ? ? ? ? listText.add(end + "-" + getText(field));
? ? ? ? ? ? ? ? mapText.put(pre, listText);
? ? ? ? ? ? }
? ? ? ? }
? ? ? ? String value = null;
? ? ? ? //处理英文
? ? ? ? jsContent.append(varName + " = {");
? ? ? ? for (String key : map.keySet()) {
? ? ? ? ? ? jsContent.append("\n\t" + key.toLowerCase() + " : {");
? ? ? ? ? ? for (int i = 0; i < map.get(key).size() - 1; i++) {
? ? ? ? ? ? ? ? value = (String) map.get(key).get(i);
? ? ? ? ? ? ? ? jsContent.append("\n\t\t\"" + value.substring(0, value.indexOf("-")) + "\"");
? ? ? ? ? ? ? ? jsContent.append(" : ");
? ? ? ? ? ? ? ? jsContent.append("\"" + value.substring(value.indexOf("-") + 1) + "\",");
? ? ? ? ? ? }
? ? ? ? ? ? value = (String) map.get(key).get(map.get(key).size() - 1);
? ? ? ? ? ? jsContent.append("\n\t\t\"" + value.substring(0, value.indexOf("-")) + "\"");
? ? ? ? ? ? jsContent.append(" : ");
? ? ? ? ? ? jsContent.append("\"" + value.substring(value.indexOf("-") + 1, value.length()) + "\"\n");
? ? ? ? ? ? jsContent.append("\t},");
? ? ? ? }
? ? ? ? jsContent.replace(jsContent.lastIndexOf(","), jsContent.lastIndexOf(",") + 1, "");
? ? ? ? jsContent.append("\n};\n");
?
? ? ? ? //处理中文
? ? ? ? jsContent.append(varName + "Text = {");
? ? ? ? for (String key : mapText.keySet()) {
? ? ? ? ? ? jsContent.append("\n\t" + key.toLowerCase() + " : {");
? ? ? ? ? ? for (int i = 0; i < mapText.get(key).size() - 1; i++) {
? ? ? ? ? ? ? ? value = (String) mapText.get(key).get(i);
? ? ? ? ? ? ? ? jsContent.append("\n\t\t\"" + value.substring(0, value.indexOf("-")) + "\"");
? ? ? ? ? ? ? ? jsContent.append(" : ");
? ? ? ? ? ? ? ? jsContent.append("\"" + value.substring(value.indexOf("-") + 1) + "\",");
? ? ? ? ? ? }
? ? ? ? ? ? value = (String) mapText.get(key).get(mapText.get(key).size() - 1);
? ? ? ? ? ? jsContent.append("\n\t\t\"" + value.substring(0, value.indexOf("-")) + "\"");
? ? ? ? ? ? jsContent.append(" : ");
? ? ? ? ? ? jsContent.append("\"" + value.substring(value.indexOf("-") + 1, value.length()) + "\"\n");
? ? ? ? ? ? jsContent.append("\t},");
? ? ? ? }
? ? ? ? jsContent.replace(jsContent.lastIndexOf(","), jsContent.lastIndexOf(",") + 1, "");
? ? ? ? jsContent.append("\n};\n");
? ? ? ? return jsContent;
? ? }


生成的js文件如下


requirements.js
? ? ? ? oa.requirements = {
? ? ? ? ? ? ? status : {
? ? ? ? ? ? ? ? ? 'saved':'saved',
? ? ? ? ? ? ? ? ? 'finished' : 'finished'
? ? ? ? ? ? ? },
? ? ? ? ? ? ? have : {
? ? ? ? ? ? ? ? ? 'yes' : 1,
? ? ? ? ? ? ? ? ? 'no' : 0
? ? ? ? ? ? ? }
? ? ? ? }


引入js文件后,


通过 模块名.功能标识.含义? 或 模块名.功能标识[含义] 方式即可取到相应的值.


oa.requirements.status.saved


"saved"


oa.requirements.status[‘saved’]


"saved"


使用说明补充:


在常量类中需要转换成中文含义的常量上面添加注解:


@ConstantsText(termsLable=”数据字典表中的termsLable”),数据库数据字典表中一定要有相应的记录,取得记录是根据termsLable+termsCode取得后面的中文,如果取不到,那么就还是原来的英文.


@ConstantsText(text=”你自己添加的中文含义”)


生成的js就是如下效果,其实就是一个Map:


oa.recruitmentText = {
? ? ? ? ? ? ? ? have : {
? ? ? ? ? ? ? ? ? "yes" : "1",
? ? ? ? ? ? ? ? ? "no" : "0"
? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? status : {
? ? ? ? ? ? ? ? ? "saved" : "saved"
? ? ? ? ? ? ? ? },
? ? ? ? ? ? ? ? planstatus : {
? ? ? ? ? ? ? ? ? "saved" : "saved",
? ? ? ? ? ? ? ? ? "submited" : "submited",
? ? ? ? ? ? ? ? ? "audited" : "我是手动审核",//这个是用的text
? ? ? ? ? ? ? ? ? "canceled" : "已作废",//这个是数据字典中
? ? ? ? ? ? ? ? ? "finished" : "已完结"//这个也是数据字典中的
? ? ? ? ? ? ? ? }
? ? ? ? ? ? };


? ? 在js中使用,类似如下:


templ

首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Python函数参数*args 和**kwargs.. 下一篇用Swift在应用中在指定时间添加本..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: