jstl自定义标签(自定义tag怎么使用jstl的标签)

本文目录
- 自定义tag怎么使用jstl的标签
- JSP中 自定义标签、EL表达式、JSTL之间有什么区别和联系
- java 自定义标签中,xx.tld里面的uri写什么,还有jsp中的uri还有prefix写什么下面是错误提示和我的tld
- JSP页面怎么把后台数据库传过来的值在下拉框显示的时候改变顺序可以认为指定那个显示
- jstl 自定义tld标签报空指针错误!
自定义tag怎么使用jstl的标签
首先我们自定义标签类:ViewIpTag
view plain copy
package com.weijia.traditionaltag;
import java.io.IOException;
***隐藏网址***
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
view plain copy
《?xml version="1.0" encoding="UTF-8" ?》
***隐藏网址***
***隐藏网址***
***隐藏网址***
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》
***隐藏网址***
《!-- 显示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:有)
JSP中 自定义标签、EL表达式、JSTL之间有什么区别和联系
EL表达式就相当于一个自定义标签
只有引入了JSTL才能用
另外
他们之间木有任何联系
java 自定义标签中,xx.tld里面的uri写什么,还有jsp中的uri还有prefix写什么下面是错误提示和我的tld
在JSP中使用标签是很平常的事情,在制作自定义标签时,通常都需要写tld文件来定义标签的各种属性,对应的java类,前缀等等。标签与tld文件紧紧相连,所以需要引入c.tld文件。
首先是在头部申明taglib, uri必须是web.xml定义的,或者是原始tld文件定义的。
《%@ taglib prefix="c" uri="java.sun.com/jstl/core" %》
《%@ taglib prefix="ex" uri="/jstl-examples-taglib" %》
然后便可以在jsp页面中通过prefix使用相应的标签
《c:import varReader="reader" url="${filepath}"》
《ex:escapeHtml reader="${reader}"/》
《/c:import》
Tld文件路径定义方式:
在web.xml中定义
《taglib》
《taglib-uri》/jstl-examples-taglib《/taglib-uri》
《taglib-location》/WEB-INF/lib/jstl-examples.tld《/taglib-location》
《/taglib》
如果这样定义的话,映射关系如下:
/jstl-examples-taglibßà{“/WEB-INF/lib/jstl-examples.tld”,””} // taglib_tld_location为空。
JSP页面怎么把后台数据库传过来的值在下拉框显示的时候改变顺序可以认为指定那个显示
可以用JSTL自定义标签,也可以用struts框架,还可以在JSP页面上直接写java代码获取。
jstl 自定义tld标签报空指针错误!
配置文件有错误必须和方法一样有返回值也必须写好了
《function》
《name》rollIt《/name》
《function-class》com.insurance.pub.Pagination《/function-class》
《function-signature》java.lang.String toString(java.lang.String)《/function-signature》
《/function》
调用的方法必须是静态的
public static String toString(String basePath){
return toString(basePath,null);
}

更多文章:
vb程序设计里面的x是啥(VB程序设计中的变量是如何定义的,请大家帮帮忙告诉我)
2026年10月10日 10:40
java定时器每一分钟执行一次(java定时执行问题: 我想让一个Java代码在每小时的第25分钟执行一次的,这个怎么实现)
2026年10月10日 08:50
abap开发工作经历(目前,从事的是ABAP开发的不知道做这个有没有什么前途啊好的话,我会加分的~)
2026年10月10日 01:10





