最近发现,前台jsp使用枚举,有一个更方便的方法。

首先 枚举类的封装大家看一下:http://blog.csdn.net/hanjun0612/article/details/72845960

然后,我们创建一个class

package com.kintech.web.tag;

import java.io.IOException;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import com.kintech.common.utils.EnumHelper; @SuppressWarnings("all")
public class EnumTag extends SimpleTagSupport {
private Integer key;
private Class cs;
private String style = "0";//是否支持样式,0为否,1为是 @Override
public void doTag() throws JspException, IOException {
JspWriter out = getJspContext().getOut();
String html = "";
if ("1".equals(style)) {
html = "<span class=' " + EnumHelper.getEnumItem(cs, key).getItemStyleClass() + "' >"
+ EnumHelper.getEnumLangItem(cs, key) + "</span>"; } else {
html = "<span class='' >" + EnumHelper.getEnumLangItem(cs, key) + "</span>"; } out.println(html);
} public Integer getKey() {
return key;
} public void setKey(Integer key) {
this.key = key;
} public Class getCs() {
return cs;
} public void setCs(Class cs) {
this.cs = cs;
} public String getStyle() {
return style;
} public void setStyle(String style) {
this.style = style;
} }

最后前台只要这么用:

<c:forEach items="${pageResult.list }" var="item">
<tr>
<td><enum:enumTag style="1" key="${item.state}" cs="<%=EnumList.IsDeleteEnum.class %>" /></td>
</tr>
</c:forEach>

或者

(th:selected这一块是默认选中的,大家可以无视)

<select class="select01" name="isValid" onchange="form1.submit();">
<option value="">请选择状态</option>
<option
th:each="e:${T(com.kps.common.utils.EnumHelper).getEnumList(T(com.kps.common.EnumList.ValidEnum))}"
th:value="${e.itemKey}"
th:selected=" ${e.itemKey} eq ${param.isValid!=null?param.isValid[0]:''} ">[[${e.itemValue}]]
</option>

pageResult.list是action返回的模型集合。

item.state  是值。

EnumList.IsDeleteEnum.class  就是我们的枚举值了。

java 前台使用枚举方法(二)的更多相关文章

  1. java 前台使用枚举方法(一)

    枚举值封装: http://blog.csdn.net/hanjun0612/article/details/72845960 一  基本类型 这里接着说前台调用枚举值. 首先,controller层 ...

  2. JAVA Timer定时器使用方法(二)

    JAVA  Timer 定时器测试 MyTask.java:package com.timer; import java.text.SimpleDateFormat;import java.util. ...

  3. Java 基础:hashCode方法

    Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket 豆瓣:BYSocket 一.前言 泥瓦匠最近被项目搞的天昏地暗.发现有些要给自己一些目标,关于技术的目标: 专注很重要.专注J ...

  4. Java 简单实用方法二

    整理以前的笔记,在学习Java时候,经常会用到一些方法.虽然简单但是经常使用.因此做成笔记,方便以后查阅 这篇博文先说明构造和使用这些方法. 1,判断String类型数据是否包含中文 可以通过正则表达 ...

  5. JAVA中生成、解析二维码图片的方法

    JAVA中生成.解析二维码的方法并不复杂,使用google的zxing包就可以实现.下面的方法包含了生成二维码.在中间附加logo.添加文字功能,并有解析二维码的方法. 一.下载zxing的架包,并导 ...

  6. JAVA进阶之旅(二)——认识Class类,反射的概念,Constructor,Field,Method,反射Main方法,数组的反射和实践

    JAVA进阶之旅(二)--认识Class类,反射的概念,Constructor,Field,Method,反射Main方法,数组的反射和实践 我们继续聊JAVA,这次比较有意思,那就是反射了 一.认识 ...

  7. Java 基础之-枚举

      目录(?)[-] 用法一常量 用法二switch 用法三向枚举中添加新方法 用法四覆盖枚举的方法 用法五实现接口 用法六使用接口组织枚举 用法七关于枚举集合的使用   DK1.5引入了新的类型-- ...

  8. java之enum枚举(2015年05月28日)

    背景: 今天启动了一个新的项目,由于要从之前的旧项目中拿过来一些代码,所以就看了下公司之前项目代码,发现有定义的常量类,也有枚举类,然后就在想着两者的功能差不多,那他们之间到底有什么区别呢,所以就决定 ...

  9. Java中的枚举的治理

    版权声明:本文为博主原创文章,转载请注明出处,欢迎使劲喷 一.为啥用枚举&为啥要对枚举进行治理 1.先来说说为啥用枚举 表中某个字段标识了这条记录的状态,我们往往使用一些code值来标识,例如 ...

随机推荐

  1. 17-(基础入门篇)GPRS(Air202)串口

    https://www.cnblogs.com/yangfengwu/p/9968716.html 现在看一下官方给的demo 其实只要有两个就好说了 module(...,package.seeal ...

  2. System.ServiceModel.CommunicationException: 接收HTTP 响应时错误发生

    具体错误信息例如以下: System.ServiceModel.CommunicationException: 接收对 http://110.110.110.110/TestService/TestS ...

  3. Google BreakPad使用集

    Google Breakpad 学习笔记 - 简书   Qt中使用Google Breakpad捕获程序崩溃异常_Linux编程_Linux公社-Linux系统门户网站 

  4. 利用matplotlib的plot函数实现图像绘制

    模式识别的一个实验,要求画出贝叶斯决策的图.这里我是利用python中的matplotlib库实现的图线的拟合.主要对于matplotlib的使用可以参照博客:webary 如果要绘制三维图像可以参考 ...

  5. JDK的一个关于stack的小bug

    在一个项目中,使用了一个java.util.Stack,总所周知,栈是先入后出的,那么遍历其中元素的时候,也应该按照这个顺序遍历才对,但是实际情况确不是,以下是测试代码. Stack stack = ...

  6. devstack 安装(centos7)

    1. 创建devstack用户 sudo useradd -s /bin/bash -d /opt/stack -m stackecho "stack ALL=(ALL) NOPASSWD: ...

  7. Linux下IP SAN共享存储操作记录

    一.简单介绍SAN,即存储区域网络(storage area network and SAN protocols),它是一种高速网络实现计算机与存储系统之间的数据传输.常见的分类是FC-SAN和IP- ...

  8. PHP从入门到精通(五)

    字符串三种声明方式 1."":双引号中可以解析变量"{$a}",双引号中可以使用任何转义字符:2.'':单引号中不可以解析变量,单引号中不可以使用转义字符(但是 ...

  9. 如何在java项目中使用lucene

    lucene是一个开源的全文检索引擎工具包,但它不是一个成型的搜索引擎,它的功能就是负责将文本数据按照某种分词算法进行分词,分词后的结果存储在索引库中,然后根据关键字从索引库检检索. 那么应该如何使用 ...

  10. Anaconda2和Anaconda3同时安装

    转载于:https://www.cnblogs.com/zle1992/p/6720425.html 1.先从网站(国内的清华镜像:https://mirrors.tuna.tsinghua.edu. ...