自定义标签实现struts2截取字符串
自定义标签实现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)}
?
?
?
?