[java] view plain copy
package com.weijia.traditionaltag
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
/**
* 自定义标签,然后将这个标签映射到这个类:mytag:viewIP
* 记得将自定义的标签绑定到一个url上面,这个url一般是公司的网址
*
*/
public class ViewIpTag extends TagSupport{
private static final long serialVersionUID = 1L
@Override
public int doStartTag() throws JspException {
//内置一个pageContext对象,我们之前说到pageContext对象,它里面是封装了9个隐式对象
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()
}
}
自定义tld文件,mytag.tld
[html] view plain copy
<?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 web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>JSTL 1.1 core library</description>
<display-name>JSTL core</display-name>
<tlib-version>1.1<消则/tlib-version>
<short-name>weijia</short-name>
<拿敬棚uri>http://www.weijia.cn/mytag</uri>
<!-- 显示IP地址 -->
<tag>
<description>
Catches any Throwable that occurs in its body and optionally
exposes it.
</description>
<name>viewIP</name>
<tag-class>com.weijia.traditionaltag.ViewIpTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
这里我们将就自定义的标签类就注册稿腔好了,下面解释一下这些字段的含义:
首先看一下:
<short-name>这个标签是指定我们定义标签的简称,这个作用不大
<uri>这个标签是给这个标签文件指定一个访问路径,这个路径我们在Jsp页面中引入这个标签的时候需要用到
<tag-class>这个标签就是指定我们自定义的标签类的全称
<body-content>这个标签表明自定义标签是否有标签体内容(empty:没有,JSP:有)
你好,这样写既可: 希望采运敏纳!!!!
$(function(){var title_text
$('#this_post_tags a').each(function(){
title_text= "点击查看更多与【卜掘" + $(this).text() + "】相关的内容"
$(this).attr('型悄核title',title_text)
})
})
p自定义标签需要引入两个jar 分别是javax.servlet.jsp.jarjavax.servlet.jar
2
建立tld文件,建议目录为WEB-INF下,tld文件结构为下图,uri为整个标签库的名称,可以理解为java类,每一个tag分支,可以理解为java类中的每一个方法,我们在调用jsp自定义标签的时候就和调用java类一样,通过皮棚迟类找方法。tag分支重点要讲tag-class,该属性为该标签方法所指向和枝的java类。attribute为参数,相信属性看燃李步骤三附图。
3
关于tld文件属性的说明,可以参考下图
4
将tld文件引入web.xml中,建议名称与tld文件标签库名称一致
5
编写jsp自定义标签类,该类继承TagSupport类,我们需要做的就是重写doStartTag,我们可以通过JspWriter将后台处理的东西直接输出到jsp页面。当然了,输出的内容在实际 *** 作中肯定经过了非常复杂的逻辑。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)