您的位置:首页 > Web前端 > JavaScript

自定义jsp标签入门

2014-03-29 19:51 309 查看
java代码

package com.itcast.zdyJsp;

import java.io.IOException;

import javax.management.RuntimeErrorException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

public class ShowIPTag extends TagSupport {
/**
*
*/
private static final long serialVersionUID = 1L;

/**
* 开始标签
* 1.自定义标签的作用:消除jsp中的java脚本
* 二:编写步骤:
* 1.编写一个类 实现 Tag 接口 (一般继承 TagSupport)
* 覆盖掉对应的方法:
*
* 注:可以通过pageContext对象获取其他8打对象的引用
* 3.在WEB-INF 中扩展名为tld的xml文件
*/
@Override
public int doStartTag() throws JspException {
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
String ip = request.getRemoteAddr();
JspWriter out = pageContext.getOut();
try {
out.print(ip);
} catch (IOException e) {
throw new RuntimeException(e);
}
return super.doStartTag();
}

}


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">

<description>HEIMA1.0 core library</description>
<display-name>HEIMA core</display-name>
<tlib-version>1.0</tlib-version>
<short-name>itheima</short-name>
<uri> http://java.itheima.com/jsp/core</uri> <tag>
<description>
show client ip
</description>
<name>showIp</name>
<tag-class>com.itcast.zdyJsp.ShowIPTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>


jsp页面

<?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">

<description>HEIMA1.0 core library</description>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.itheima.com/jsp/core" prefix="itheima" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>My JSP 'zdyJspdemo.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
This is my JSP page. <br>
<itheima:showIp/>
</body>
</html>

http://java.itheima.com/jsp/core</uri><tag> <description> show client ip </description> <name>showIp</name> <tag-class>com.itcast.zdyJsp.ShowIPTag</tag-class> <body-content>empty</body-content> </tag></taglib>



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: