java 前台使用枚举方法(二)

最近发现,前台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  就是我们的枚举值了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值