JSP——自定义标签(1)入门
自定义标签主要用于移除Jsp页面中的java代码。 使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤: 编写一个实现Tag接口的Java类(标签处理器类)。 编写标签库描述符(tld)文件,在tld文件中对标签处理器类进行描述。 使用自定义标签在输出IP: Java部分: public class ShowIP extends TagSupport { @Override public int doStartTag() throws JspException { //Tag的setPageContext方法是由服务器调用的, 而且是在doStartTag之前调用 //客户端传给我们的是HttpServletRequest请求(ServletRequest是HttpServletRequest的父亲) HttpServletRequest request=(HttpServletRequest)pageContext.getRequest(); String IP=request.getRemoteAddr(); String i=request.getRequestURI(); JspWriter write=pageContext.getOut(); try { write.write(i); write.write(IP); } catch (IOException e) { throw new RuntimeException(); } return super.doStartTag(); } } 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>SimpleTagLibrary</short-name> <uri>/ShowIP</uri> <tag> <name>ShopIP</name> <tag-class>web.tag.ShowIP</tag-class> <body-content>empty</body-content> </tag> </taglib> jsp部分: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@taglib uri="/ShowIP" prefix="showIP" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>ip的展示</title> </head> <body> 您的IP为:<showIP:ShopIP/> </body> </html> 总结:jsp部分的prefix最好写成tld的名字,这样一看就知道了导入的是是哪个tld 一定要继承Tag(TagSupport是他的子类)
现在的几乎什么都不懂,但是不代表以后的我也是这样。