代码洁癖症轻度患者-页面显示状态判断解决方案

代码洁癖症中轻度患者

如下图所示,要在页面上根据状态码来显示不同的文字,直接在页面上就进行判断了,个人感觉这样影响代码的美

 

 可以用如下方式代替,当然上肯定得有一些后台处理

 

 后台处理如下

1,在tempData对就的这个实体类中加入stausStry这个字段

2,新建一个TempStatusENUM 

public enum TempStatusENUM {
    ONE("1", "会考虑引进"), TWO("2", "审核中"), THREE("3", "不采用");
    private String code;

    private String message;

    TempStatusENUM(String code, String message) {
        this.code = code;
        this.message = message;
    }

    public String getCode() {
        return this.code;
    }

    public String getMessage() {
        return this.message;
    }

    public static String getMessageByCode(String code) {
        for (TempStatusENUM e : TempStatusENUM.values()) {
            if (code.equals(e.getCode())) {
                return e.getMessage();
            }
        }
        return "";
    }
}

3,改写新建字段的getStr()方法,通过status直接取到对应的status值

    public String getStatusStr() {
        return TempStatusENUM.getMessageByCode(String.valueOf(this.getStatus()));
    }

哈哈,做了这么多,就为了在前台少写两行代码吗,肯定不是的,这样做是有好处的,

好处有如下几点,

1,页面看起来不那么乱了,这是最明显的好处,你要想到你的页面不只有一个地方会有这种有判断的情况

2,后台将这个显示的字段放到一个ENUM中,这个可以多处引用,如果将来显示有变化就可以只改动这一个地方,试想如果这种显示特别多,面后期又需要改动的话,那么不但不好改,而且容易有遗漏,而且改的越多,出错的几率就越大

3,你可以顺便熟悉一下ENUM的用法啊,哈哈哈

缺点

1,增加后台代码量,需要新建类

posted @ 2019-12-23 20:30  朗先生  阅读(183)  评论(0编辑  收藏  举报