JSP自定义标签实例(二)
来源:互联网 发布:成都旅游 知乎 编辑:程序博客网 时间:2024/05/22 03:40
1、自定义标签处理类
import java.util.Calendar;
import java.util.Date;
import org.apache.shiro.SecurityUtils;
import com.cxdai.common.Dictionary;
import com.cxdai.portal.util.CharacterEncoder;
import com.cxdai.security.ShiroUser;
/**
* <p>
* Description:自定义el表达式<br />
* </p>
*
* @title ELTag.java
* @author qiongbiao.zhang
* @version 0.1 2014年6月17日
*/
public class ELTag {
public static String encode(String input) {
return CharacterEncoder.encodeURL(input, "UTF-8");
}
public static String decode(String input) {
return CharacterEncoder.decodeURL(input, "UTF-8");
}
public static Date currDate() {
return new Date();
}
public static int year(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal.get(Calendar.YEAR);
}
public static int month(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal.get(Calendar.MONTH) + 1;
}
public static int day(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
return cal.get(Calendar.DAY_OF_MONTH);
}
public static int lastday(int year, int month) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month - 1);
return cal.getActualMaximum(Calendar.DAY_OF_MONTH);
}
public static String minDisplay(String str, int length) {
if (str == null) {
return null;
}
StringBuilder sb = new StringBuilder(length);
int l = 0;
for (int i = 0; i < str.length(); i++) {
char ch = str.charAt(i);
sb.append(ch);
// 判断是否数字,字母,特殊字符
if (isChinese(ch)) {
l += 2;
} else {
l += 1;
}
if (l >= length) {
break;
}
}
sb.append(l >= length ? ".." : "");
return sb.toString();
}
public static boolean isChinese(char a) {
int v = a;
return (v >= 19968 && v <= 171941);
}
}
2、自定义标签文件
<?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.0</tlib-version>
<short-name>myel</short-name>
<function>
<name>encode</name>
<function-class>com.cxdai.common.tag.ELTag</function-class>
<function-signature>java.lang.String encode(java.lang.String)</function-signature>
</function>
<function>
<name>decode</name>
<function-class>com.cxdai.common.tag.ELTag</function-class>
<function-signature>java.lang.String decode(java.lang.String)</function-signature>
</function>
<function>
<name>currDate</name>
<function-class>com.cxdai.common.tag.ELTag</function-class>
<function-signature>java.util.Date currDate()</function-signature>
</function>
<function>
<name>year</name>
<function-class>com.cxdai.common.tag.ELTag</function-class>
<function-signature>int year(java.util.Date)</function-signature>
</function>
<function>
<name>month</name>
<function-class>com.cxdai.common.tag.ELTag</function-class>
<function-signature>int month(java.util.Date)</function-signature>
</function>
<function>
<name>day</name>
<function-class>com.cxdai.common.tag.ELTag</function-class>
<function-signature>int day(java.util.Date)</function-signature>
</function>
<function>
<name>lastday</name>
<function-class>com.cxdai.common.tag.ELTag</function-class>
<function-signature>int lastday(int, int)</function-signature>
</function>
<function>
<name>minDisplay</name>
<function-class>com.cxdai.common.tag.ELTag</function-class>
<function-signature>java.lang.String minDisplay(java.lang.String, int)</function-signature>
</function>
</taglib>
3、引用自定义标签
<%-- 引用自定义标签 --%>
<%@ taglib prefix="myel" uri="/WEB-INF/ELTag.tld"%>
- JSP自定义标签实例(二)
- jsp自定义标签(二)
- jsp自定义标签实例
- Jsp自定义标签实例
- jsp自定义标签实例
- JSP自定义标签(二):JSP传统标签
- 【JavaWeb探究】自定义JSP标签(二)
- JSP自定义标签(二)- 传递属性
- JSP自定义标签入门实例
- jsp:自定义标签实例(TLD)
- jsp自定义标签(JSTL)实例
- jsp自定义标签之ifelse与遍历自定义标签实例
- (转)掌握jsp自定义标签:(二)
- (转)掌握jsp自定义标签:(二)
- JSP自定义标签开发入门实例
- JSP自定义标签之一:简单实例
- JSP自定义标签开发入门实例
- 自定义JSP标签的应用实例
- C语言中的"NULL"到底是什么?又不是什么?有什么用?怎么用?
- linux下redis安装配置及redis常用命令(实战详细版)
- 【读书笔记】iOS网络-三种错误
- 学习Soot - 1
- 1 ListFragement介绍
- JSP自定义标签实例(二)
- github的使用
- 技术贴:开源飞控那些事
- 网站开发只需数小时?Meteor 说这才是未来
- JarURLConnection用法
- java的学习路径
- Android JSON:Gson,FastJson解析库的使用和对比分析
- 每个程序员都会的 35 个 jQuery 小技巧
- AsyncTask和Thread Handler对比