JSTL和SpringMVC提供的标签已经能满足开发的绝大部分需求,但是有时候用自定义的标签能将重复的功能封装,使得页面代码更加简洁
步骤
-
实现自定义标签类,继承SimpleTagSupport类,重写doTag方法
public class HelloTag extends SimpleTagSupport { private String name; @Override public void doTag() throws JspException, IOException { JspWriter out = getJspContext().getOut(); out.println("<h1>Hello, "+ name.toUpperCase() +"</h1>"); } public void setName(String name) { this.name = name; } }
-
增加标签的描述文件myTags.tld
<taglib> <tlib-version>1.0</tlib-version> <jsp-version>2.0</jsp-version> <short-name>My Tags</short-name> <tag> <name>hello</name> <tag-class>com.zryx.car4s.utils.tags.HelloTag</tag-class> <body-content>empty</body-content> <attribute> <name>name</name> <type>java.lang.String</type> <!-- String类型可以省略 --> <required>true</required> <!-- 是否必填 --> <rtexprvalue>true</rtexprvalue> <!-- 是否支持EL表达式 --> </attribute> </tag> </taglib>
-
JSP页面引入标签并使用
<%@ taglib uri="/WEB-INF/myTags.tld" prefix="my"%> <my:hello name="老王"/>