-----------------------------------------------------------------------自定义标签功能-------------------------------------------------------------------
1 使用自定义标签移除jsp页面中的java代码
2 控制jsp页面某一部分内容是否执行3 控制整个jsp页面内容是否执行。
4 控制jsp页面内容重复执行
5 修改jsp页面内容输出
-----------------------------------------------------------------------步骤------------------------------------------------------------------------------------
编写一个实现Tag接口的java类,把页面java代码移到这个java类中(标签处理器类)
编写标签库描述符(tld)文件,在tld文件中对标签处理器描述成一个标签
-----------------------------------------------------------------------自定义标签过程----------------------------------------------------------------------
步骤1:编写一个实现Tag接口的java类,把页面java代码移到这个java类中(标签处理器)
public class ViewIPTag extends TagSupport {
@Override
public int doStartTag() throws JspException {
HttpServletRequest request=(HttpServletRequest) this.pageContext.getRequest();
JspWriter out = this.pageContext.getOut();
String ip = request.getRemoteAddr();
try{
out.print(ip);
}catch(IOException e){
throw new RuntimeException(e);
}
return super.doStartTag();
}
}
步骤2:编写标签库描述(tld)文件,在tld文件中将标签处理描器述成一个标签(这个文件必须在/WEB-INF 下)
<?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>kunming</short-name>
<uri>http://www.kunming.com</uri>
<tag>
<name>ipshow</name>
<tag-class>cn.itcast.web.tag.ipTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
步骤3:在jsp中导入标签,最后使用标签
<%@taglib uri="http://www.itcast.cn" prefix="itcast"%>
您的ip地址<itcast:viewIP/>