在项目开发中我们经常会定义很多常量或者枚举来存储一些固定不变的数据,目的是方便其它逻辑调用并且好
集中管理不易出错。但是当这些变量需要在我们的页面中出现甚至是JS中出现时我们通常的做法是在需要使用的页面传递
或者干脆直接写死,这样所产生的问题就是以后系统很难维护更新。
最近我们项目组也遇到这个问题了,我的解决方案是:
1.将系统中常用的枚举罗列出来
2.将这些枚举类转换成Map对象
3.将获得的Map对象放到Velocity公共变量中使得每个页面都可以使用
下面是我们实现的部分代码,希望对有类似问题的项目有所帮助
1. 选取枚举类以自动部署的发布类型为参考
集中管理不易出错。但是当这些变量需要在我们的页面中出现甚至是JS中出现时我们通常的做法是在需要使用的页面传递
或者干脆直接写死,这样所产生的问题就是以后系统很难维护更新。
最近我们项目组也遇到这个问题了,我的解决方案是:
1.将系统中常用的枚举罗列出来
2.将这些枚举类转换成Map对象
3.将获得的Map对象放到Velocity公共变量中使得每个页面都可以使用
下面是我们实现的部分代码,希望对有类似问题的项目有所帮助
1. 选取枚举类以自动部署的发布类型为参考

2.将枚举值转换为Map对象

3. 放入 Velocity 公共变量中

4.VM 中使用并生成公共 JS 代码

接下来假如我要访问发布类型的停止对应的值就可通过以下方式来完成了
java代码:
DeployTypeEnum.STOP
VM页面中:
$!{DeployTypeEnum.STOP}
JS中:
DeployTypeEnum.STOP
好了, 通过以上实现就能够达到在三个地方(后台JAVA 类中、VM 页面中、JS 文件中)使用一样的调用方式而不需要在页面或JS 中将值固定写死,希望对有同样问题的项目有所帮助!