自定义标签实现struts2截取字符串
第一步:创建一个类,写截取的方法,方法应该定义为静态的。
我的类:com.service.MyTag
/**
* 截取字符串
*/
public static String substr(String str, int start, int end) {
if (str.length() > end) {
return str.substring(start, end) + "...";
} else {
return str;
}
}
第二步:创建.tld,放WEB-INF下,我的存为mytag.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.0</tlib-version>
<short-name>btag</short-name>
<function>
<description>substring</description><!-- 对这个EL方法的描述 -->
<name>substr</name><!-- 调用EL方法的名称 -->
<function-class>com.service.MyTag</function-class>
<function-signature>
java.lang.String substr(java.lang.String,int,int)
</function-signature>
<example>${btag:substr(str,start,end}</example><!-- 例如 -->
</function>
</taglib>
第三步:页面调用
页面顶引入tld,prefix可自己设
<%@ taglib uri="/WEB-INF/mytag.tld" prefix="myTag" %>
将一个取出来的title进行截取如下
${myTag:substr(title,0,12)}