java enum 结合jstl自定义标签做展示
2011-03-10 15:53
651 查看
Java Enum 学习篇:
http://blog.csdn.net/abing37/archive/2009/07/29/4391222.aspx
以前做项目都是使用final Static定义状态,这样做也能满足要求,当状态码发生改变的时候只需改一处地方,刚才听同事说可以使用enum来定义常量,更加优雅,所以决定学习下。上面这篇博客介绍了enum的入门和原理,我将把同事做的jstl自定义标签展示出来,积累下知识
1.定义enum-HvProcStateEnum
2.state.tld
3.处理类StateUtil
4.在web.xml注册tld
5.使用jstl自定义标签
jsp里加入
<%@ taglib prefix="state" uri="/test.state" %>
然后
${state:hvsendproc(hvSndExchglist.procstate)}
http://blog.csdn.net/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)}
相关文章推荐
- JAVAWEB开发之JSTL标签库的使用、 自定义EL函数、自定义标签(带属性的、带标签体的)
- JavaWeb开发之JSTL标签库的使用、 自定义EL函数、自定义标签(带属性的、带标签体的)
- javaweb框架--自定义标签与freemaker结合
- JSP 标准标签库(JSTL)与java代码段<%%>与js结合使用
- Java --- Jsp内置标签、jstl标签库及自定义标签
- java程序员第十三课-EL表达式、JSTL标签库、EL函数库、自定义EL函数和自定义标签
- JavaWeb-12 (自定义标签库开发&JSTL标签库)
- 文件结束[置顶] javaweb框架--自定义标签与freemaker结合
- JSTL标签急速秒杀jsp页面中的java代码---自定义函数
- JAVAWEB开发之JSTL标签库的使用、 自定义EL函数、自定义标签(带属性的、带标签体的)
- JavaWeb_day7-自定义标签和JSTL
- java中结合struts2自定义标签的使用
- Java --- jstl自定义分页标签
- Java Web 自定义标签 JSTL及EL语言
- java 中运用自定义标签仿照jstl的 ForEach() - 代码共享
- javaweb框架--自定义标签与freemaker结合
- java 中使用自定义标签模仿jstl的 ForEach()
- java学习 jstl循环标签展示List集合操作
- 自定义JSTL标签函数步骤详解
- [JavaWeb基础] 012.Struts2 自定义标签使用