学会怎样使用Jsp 内置标签,jstl标签库及自定义标签

 我来答
遇见你882
2017-04-01 · 超过201用户采纳过TA的回答
知道小有建树答主
回答量:241
采纳率:0%
帮助的人:227万
展开全部
首先我们自定义标签类:ViewIpTag

[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=""
xmlns:xsi=""
xsi:schemaLocation=" 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></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:有)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式