java.tld的简单介绍
今天给各位分享java.tld的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、如何在JavaWeb程序中使用tld文件
- 2、java中的tld文件是用来做什么的?
- 3、java 自定义标签中,xx.tld里面的uri写什么,还有jsp中的uri还有prefix写什么。下面是错误提示和我的tld
如何在JavaWeb程序中使用tld文件
tld定义格式
?xml version="1.0" encoding="ISO-8859-1" ?
!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
""
taglib
!--定义标签版本库--
tlib-version1.0/tlib-version
!--定义jsp版本库--
jsp-version1.2/jsp-version
short-nameCms Tag/short-name
description!--标签描述---
A simple appbase tag library
/description
tag
namepage/name!--tag的名字--
tag-classcom.cms.common.tag.PageTag/tag-class!--tag对应的java类的名字--
body-contentempty/body-content
!--关于body-content 有三个值可选;empty:标签体必须为空;jsp:标签由其他jsp元素组成比如标签中含有%=attributeName%的jsp元素,那么此时body-content的值就是实际attributeName传入的值;tagdependent:有标签解释不带jsp转换(这个深入的含义不太了解)如果想深入交流技术可以加群前面435中间416最后141组合到一起就可以找到了--
attribute!---这里表示的是这个tag的一个参数--
namecmsform/name!--这个参数的名字--
requiredtrue/required!--是否是必填选项--
rtexprvaluetrue/rtexprvalue!--这个参数的值是否可以写入,换句话说 就是这个参数是否可以动态赋值--
/attribute
/tag
/taglib
2、定义Tag对应类
此类必须重写doStartTag以及doEndTag方法
/**
*
*/
package com.cms.common.tag;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
/**
* @author louisliao
*
*/
public class DemoViewTag extends TagSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private String cmsform = "";
public String getCmsForm() {
return cmsform ;
}
public void setCmsForm(String cmsform ) {
this.cmsform = cmsform ;
}
/**
*
*/
public DemoViewTag() {
// TODO Auto-generated constructor stub
}
public int doStartTag()
{
return super.SKIP_BODY;
}
public int doEndTag() throws JspException
{
JspWriter writer=pageContext.getOut();
try {
writer.print("这是我的标签示例br/"+"cmsform :"+this.cmsform);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return super.EVAL_PAGE;
}
}
3、在web.xml中加入taglib对应文件配置 如:
taglib
taglib-uri;/taglib-uri
taglib-location/WEB-INF/mytag.tld/taglib-location
/taglib
示例:
定义myTag.tld标签文件
?xml version="1.0" encoding="utf-8"?
!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
""
taglib
tlibversion1.0/tlibversion
jspversion1.1/jspversion
shortnameMyJSPTag Library/shortname
uri;/uri
info我的示例标签库/info
tag
namedemo.Viewport/name
tagclasscom.myapp.web.tag.DemoViewTag/tagclass
bodycontentJSP/bodycontent
infodemo.Viewport标签/info
attribute
namenorthTitle/name
requiredtrue/required
rtexprvaluetrue/rtexprvalue
/attribute
attribute
namewestTitle/name
requiredtrue/required
rtexprvaluetrue/rtexprvalue
/attribute
/tag
/taglib
定义标签类
/**
*
*/
package com.myapp.web.tag;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
/**
* @author louisliao
*
*/
public class DemoViewTag extends TagSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
private String northTitle = "";
private String westTitle = "";
public String getNorthTitle() {
return northTitle;
}
public void setNorthTitle(String northTitle) {
this.northTitle = northTitle;
}
public String getWestTitle() {
return westTitle;
}
public void setWestTitle(String westTitle) {
this.westTitle = westTitle;
}
/**
*
*/
public DemoViewTag() {
// TODO Auto-generated constructor stub
}
public int doStartTag()
{
return super.SKIP_BODY;
}
public int doEndTag() throws JspException
{
JspWriter writer=pageContext.getOut();
try {
writer.print("这是我的标签示例br/westTitle:"+this.westTitle+"br/northTitle:"+this.northTitle);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return super.EVAL_PAGE;
}
}
web.xml添加配置
taglib
taglib-uri;/taglib-uri
taglib-location/WEB-INF/mytag.tld/taglib-location
/taglib
测试页面
%@ page language="java" import="java.util.*" pageEncoding="utf-8"%
%@ taglib uri="" prefix="myTag"%
%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
html
head
base href="%=basePath%"
titleMy JSP 'tagtldDemo.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
myTag:demo.Viewport northTitle="南" westTitle="西"/myTag:demo.Viewport
/body
/html
java中的tld文件是用来做什么的?
tld是taglib description 的缩写
定制标签拼图中的最后一块是TLD(标签库描述符)文件。创建的每个标签都必须在一个TLD文件中声明,而且这一文件还必须连同标签的Java处理器类一起被部署。正如在前一节中所看到的,servlet容器知道在何处放置了TLD文件,因为已经在web.xml标准servlet配置文件中声明了路径。
定制标签拼图中的最后一块是TLD(标签库描述符)文件。创建的每个标签都必须在一个TLD文件中声明,而且这一文件还必须连同标签的Java处理器类一起被部署。正如在前一节中所看到的,servlet容器知道在何处放置了TLD文件,因为已经在web.xml标准servlet配置文件中声明了路径。
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[0]就足以表示tld路径,因此taglib_tld_location[1]为空。
java.tld的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java.tld的信息别忘了在本站进行查找喔。
发布于:2022-12-13,除非注明,否则均为
原创文章,转载请注明出处。