1.写标签功能模块,
类名:StringTools.java
package cn.yixinet.tools;
public class StringTools {
public static List<String> stringDelim(String str,String delim){
if(delim==null) delim = ", ";
if(str==null||str.trim().equals("")||str.trim().equals(",")) return null;
StringTokenizer st = new StringTokenizer(str,delim);
ArrayList<String> array = new ArrayList<String>(5);
while(st.hasMoreTokens()){
array.add(st.nextToken());
}
return array;
}
public static String makeTagHref(String tags,String delim,String url){
if(tags==null||tags.trim().equals("")) return "";
List<String> l = stringDelim(tags, delim);
StringBuilder sb = new StringBuilder();
for(String str : l){
sb.append(" <a href=/"");
sb.append(url);
sb.append(str);
sb.append("/" target=/"blank/">");
sb.append(str);
sb.append("</a> ");
}
return sb.toString();
}
}
2.编写标签映射配置
文件名:keywordtag.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>keytag</short-name>
<uri>http://java.sun.com/jstl/keywordtag</uri>
<!-- JSTL自定义函数 拆分关键字 -->
<function>
<name>makeTagHref</name>
<function-class>cn.yixinet.tools.StringTools</function-class>
<function-signature>java.lang.String makeTagHref(java.lang.String,java.lang.String,java.lang.String)</function-signature>
</function>
</taglib>
3.Web.xml配置
<taglib>
<taglib-uri>http://java.sun.com/jstl/keywordtag</taglib-uri>
<taglib-location>/WEB-INF/lib/keywordtag.tld</taglib-location>
</taglib>
4.JSP页面调用
<%@taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jstl/keywordtag" prefix="keytag"%>
<body>
<c:set value="${pageContext.request.contextPath}/yisou/" var="pathys" scope="page"/>
关键字:${keytag:makeTagHref(newsD.akeywords, ", ;", pathys)}
</body>