java_自定義標簽,我的第一個自定義標簽!
阿新 • • 發佈:2018-03-27
row rar return www. AD rst lang hide exc
ViewIP.jsp
自定義標簽,我的第一個自定義標簽!
總共分兩步
- 編寫一個實現tag接口的java類,把jsp頁面中的java代碼移到這個類中,(標簽處理器類)
- 編寫標簽庫描述符(tld)文件,在tld文件中把標簽處理器類描述成一個標簽
一.案例,
輸出客戶端IP
ViewIP.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/firstTag.tld" prefix="itcast"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h4>您的iP:</h4>
<itcast:viewIP/>
</body>
</html>
在WEB-INF目錄下建立一個tld文件,:
firstTag.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" versionfirstTag.tld="2.0"> <description>A tag library exercising SimpleTag handlers.</description> <tlib-version>1.0</tlib-version> <short-name>view</short-name> <uri>/WEB-INF/firstTag.tld</uri> <tag> <name>viewIP</name> <tag-class>Tag.viewIPTag</tag-class> <body-content>empty</body-content> </tag> </taglib>
編寫標簽處理器類:
viewIPTag.java
package Tag; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.TagSupport; public class viewIPTag extends TagSupport{ 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) { // TODO Auto-generated catch block e.printStackTrace(); } return super.doStartTag(); } }viewIPTag.java
效果截圖:
java_自定義標簽,我的第一個自定義標簽!