package com.mall.com.utils.consts; public class StaticMenu { /** * 是否有子菜单 * @author JessenGan */ public static class HASSUB { public static String yes = "yes"; public static String no = "no"; } public static String yes = "yes"; }
在HTML中引用就会出错,出现找不到类。
直接引用静态类中的yes变量就不会出错
项目:JFinal
engine.addSharedObject("HASSUB", new com.mall.com.utils.consts.StaticMenu. HASSUB();
然后用的时候这样:
#if (menu.hasMenuSub == HASSUB.yes)
这样用起来省去了前面那一串 package 名称,更加节省代码
jfinal enjoy 引入 static field 这个表达式,本质是为了在修改 java 代码中的常量值时,完全不需要改动 html 中的常量代码,而使用 shared object 来实现你这个需求与 enjoy 的设计目标是一致的,而且还多一个省代码的好处
就算是常规需求,如果常量值在 html 引用次数很多,我也建议结合 shared object 这种用法,用得地方多了,代码节省就很有价值了