JSP 自定义标签实现数据精度格式化
来源:互联网 发布:js压缩还原 编辑:程序博客网 时间:2024/05/02 03:03
在java web 开发中,以jsp作为页面显示的环境,jsp标签的使用大大简化了页面对后台数据的操作,但是对于一些特殊的要求,可以根据需求自定义标签实现。废话少说,直接上步奏代码。
开发工具:Eclipse Luna
整体架构:spring spring mvc mybatis
1.新建一个实体类,声明属性,并继承TagSupport类
public class NumberTag extends TagSupport {private static final long serialVersionUID = -2312310581852395045L;private String pattern;//数值单位private String value;//数值@Overridepublic int doStartTag() throws JspException {String unit =pattern;BigDecimal b = new BigDecimal(value);//值String s = NumberUnit.getBwNumberValue(b,unit);try {pageContext.getOut().write(s);} catch (IOException e) {e.printStackTrace();}return super.doStartTag();}public void setValue(String value) {if(value.isEmpty()){value=0.00+"";}this.value = value;}public void setPattern(String pattern) {this.pattern = pattern;}}
2.数值单位换算类 NumberUnit.java
public class NumberUnit{/*** * * @Title: getBwNumberValue * @Description: TODO 格式化数据* @param num 值* @return* @throws */public static String getBwNumberValue(BigDecimal num,String tunit){ DecimalFormat df=(DecimalFormat)NumberFormat.getInstance(); df.setMaximumFractionDigits(2); df.applyPattern("0.00"); double total = num.doubleValue(); String value=total+""; if(tunit.equalsIgnoreCase("Mbps")){value=df.format(total);}else if(tunit.equalsIgnoreCase("Gbps")){value=df.format(total/1000);} return value;}}
3.编写numbertag.tld文件
<?xml version="1.0" encoding="UTF-8"?><taglib><tlib-version>1.0</tlib-version><jsp-version>1.2</jsp-version><tag><name>mynumber</name> <!--自定义标签名称---><tag-class>xx.xx.xx.NumberTag</tag-class><!--自定义标签类全路径---><body-content>JSP</body-content><attribute><name>value</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute><attribute><name>pattern</name><required>true</required><rtexprvalue>true</rtexprvalue></attribute></tag></taglib>
4.jsp页面引用
导入标签: <%@ taglib prefix="mynumberfmt" uri="/WEB-INF/numbertag.tld"%>
使用自定义标签:<mynumberfmt:mynumber value="${datalist.data }" pattern="0.00"/>
0 0
- JSP 自定义标签实现数据精度格式化
- JSP自定义标签-日期格式化
- JSP自定义标签-日期格式化
- jsp自定义标签实现数据字典
- JSP自定义标签实现数据字典
- JSP自定义标签实现数据字典
- jsp自定义数据标签
- Jsp自定义标签实现
- jsp实现自定义标签
- 实现jsp 自定义标签
- 实现jsp自定义标签
- jsp自定义标签库实现数据列表显示
- JSP自定义标签查询数据
- JSP标签库Taglib之自定义function篇,轻松实现日期格式化
- JSP自定义标签的实现
- JSP自定义标签实现过程
- JSP自定义标签实现过程
- jsp自定义标签实现分页
- Hibernate中持久化类学习
- matlab 运行 AlexNet
- WPF 中的 loaded 事件和 Initialized 事件
- Python学习第一天,第一次接触
- HeapSort
- JSP 自定义标签实现数据精度格式化
- PIN BLOCK
- java多线程(15)--线程池ThreadPoolExecutor使用
- RESTLET开发实例
- Leetcode 179 Largest number (最大的数字 和最小的数字)
- USB Gadget设备驱动开发(四) BusHound 抓包分析
- libcef 相关资料记录
- CSS3 box-sizing 属性
- Mysql5.7.17 安装使用及过程中会出现的问题v1.2