java enum 结合jstl自定义标签做展示

本文介绍了一种使用Java枚举(enum)替代final Static定义状态的方法,并通过具体示例展示了如何创建JSTL自定义标签来处理大额汇兑业务的状态描述。该方法不仅使代码更加优雅,也方便了状态码的管理和维护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java Enum 学习篇:
http://blog.youkuaiyun.com/abing37/archive/2009/07/29/4391222.aspx

以前做项目都是使用final Static定义状态,这样做也能满足要求,当状态码发生改变的时候只需改一处地方,刚才听同事说可以使用enum来定义常量,更加优雅,所以决定学习下。上面这篇博客介绍了enum的入门和原理,我将把同事做的jstl自定义标签展示出来,积累下知识


1.定义enum-HvProcStateEnum

public enum HvProcStateEnum { TOCHECK("90","待复核"),TOUPDATE("93","待修改"),TOGRANT("92","待授权"), TOSEND("03","待发送"),SENDED("04","已发送"),APIOK("05","API成功"), APIFAIL("06","AIP拒绝"); //.................其他暂略 private String code; private String descript; private HvProcStateEnum(String code,String descript){ this.code = code; this.descript = descript; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public String getDescript() { return descript; } public void setDescript(String descript) { this.descript = descript; } }


2.state.tld

<?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <tlib-version>1.1</tlib-version> <short-name>state</short-name> <uri>/test.state</uri> <function> <description>大额往账汇兑业务中文处理状态</description> <name>hvsendproc</name> <function-class>com.test.util.StateUtil</function-class> <function-signature> java.lang.String getHvCnProc(java.lang.String) </function-signature> <example>${state:getHvCnProc(value)}</example> </function> </taglib>


3.处理类StateUtil

public class StateUtil { /* * 返回大额往账汇兑业务处理状态中文描述 */ public static String getHvCnProc(String code){ String retValue = "未知"; if(code != null){ code = code.trim(); if("".equals(code)){ return retValue; } }else{ return retValue; } for(HvProcStateEnum en: HvProcStateEnum.values()){ if(en.getCode().equals(code)){ retValue = en.getDescript(); break; } } return retValue; } }


4.在web.xml注册tld

<jsp-config> <taglib> <taglib-uri>/test.state</taglib-uri> <taglib-location>/WEB-INF/tld/state.tld</taglib-location> </taglib> </jsp-config>


5.使用jstl自定义标签

jsp里加入

<%@ taglib prefix="state" uri="/test.state" %>
然后
${state:hvsendproc(hvSndExchglist.procstate)}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值