首页编程java编程java tld是什么 java中的tld文件是用来做什么的

java tld是什么 java中的tld文件是用来做什么的

编程之家2023-10-11100次浏览

老铁们,大家好,相信还有很多朋友对于java tld是什么和java中的tld文件是用来做什么的的相关问题不太懂,没关系,今天就由我来为大家分享分享java tld是什么以及java中的tld文件是用来做什么的的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

java tld是什么 java中的tld文件是用来做什么的

.tld是什么文件

tld是taglib description的缩写

定制标签拼图中的最后一块是TLD(标签库描述符)文件。创建的每个标签都必须在一个TLD文件中声明,而且这一文件还必须连同标签的Java处理器类一起被部署。正如在前一节中所看到的,servlet容器知道在何处放置了TLD文件,因为已经在web.xml标准servlet配置文件中声明了路径。

定制标签拼图中的最后一块是TLD(标签库描述符)文件。创建的每个标签都必须在一个TLD文件中声明,而且这一文件还必须连同标签的Java处理器类一起被部署。正如在前一节中所看到的,servlet容器知道在何处放置了TLD文件,因为已经在web.xml标准servlet配置文件中声明了路径。

java tld是什么 java中的tld文件是用来做什么的

如何在JavaWeb程序中使用tld文件

tld定义格式

<?xmlversion="1.0"encoding="ISO-8859-1"?>

<!DOCTYPEtaglib

PUBLIC"-//SunMicrosystems,Inc.//DTDJSPTagLibrary1.2//EN"

java tld是什么 java中的tld文件是用来做什么的

"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">

<taglib>

<!--定义标签版本库-->

<tlib-version>1.0</tlib-version>

<!--定义jsp版本库-->

<jsp-version>1.2</jsp-version>

<short-name>CmsTag</short-name>

<description><!--标签描述--->

Asimpleappbasetaglibrary

</description>

<tag>

<name>page</name><!--tag的名字-->

<tag-class>com.cms.common.tag.PageTag</tag-class><!--tag对应的java类的名字-->

<body-content>empty</body-content>

<!--关于body-content有三个值可选;empty:标签体必须为空;jsp:标签由其他jsp元素组成比如标签中含有<%=attributeName%>的jsp元素,那么此时body-content的值就是实际attributeName传入的值;tagdependent:有标签解释不带jsp转换(这个深入的含义不太了解)如果想深入交流技术可以加群前面435中间416最后141组合到一起就可以找到了-->

<attribute><!---这里表示的是这个tag的一个参数-->

<name>cmsform</name><!--这个参数的名字-->

<required>true</required><!--是否是必填选项-->

<rtexprvalue>true</rtexprvalue><!--这个参数的值是否可以写入,换句话说就是这个参数是否可以动态赋值-->

</attribute>

</tag>

</taglib>2、定义Tag对应类

此类必须重写doStartTag以及doEndTag方法

/**

*

*/

packagecom.cms.common.tag;

importjavax.servlet.jsp.JspException;

importjavax.servlet.jsp.JspWriter;

importjavax.servlet.jsp.tagext.TagSupport;

/**

*@authorlouisliao

*

*/

publicclassDemoViewTagextendsTagSupport{

/**

*

*/

privatestaticfinallongserialVersionUID=1L;

privateStringcmsform="";

publicStringgetCmsForm(){

returncmsform;

}

publicvoidsetCmsForm(Stringcmsform){

this.cmsform=cmsform;

}

/**

*

*/

publicDemoViewTag(){

//TODOAuto-generatedconstructorstub

}

publicintdoStartTag()

{

returnsuper.SKIP_BODY;

}

publicintdoEndTag()throwsJspException

{

JspWriterwriter=pageContext.getOut();

try{

writer.print("这是我的标签示例<br/>"+"cmsform:"+this.cmsform);

}catch(Exceptione){

//TODO:handleexception

e.printStackTrace();

}

returnsuper.EVAL_PAGE;

}

}3、在web.xml中加入taglib对应文件配置如:

<taglib>

<taglib-uri>http://mytag.sf.net</taglib-uri>

<taglib-location>/WEB-INF/mytag.tld</taglib-location>

</taglib>

示例:

定义myTag.tld标签文件

<?xmlversion="1.0"encoding="utf-8"?>

<!DOCTYPEtaglibPUBLIC"-//SunMicrosystems,Inc.//DTDJSPTagLibrary1.1//EN"

"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">

<taglib>

<tlibversion>1.0</tlibversion>

<jspversion>1.1</jspversion>

<shortname>MyJSPTagLibrary</shortname>

<uri>http://mytag.sf.net</uri>

<info>我的示例标签库</info>

<tag>

<name>demo.Viewport</name>

<tagclass>com.myapp.web.tag.DemoViewTag</tagclass>

<bodycontent>JSP</bodycontent>

<info>demo.Viewport标签</info>

<attribute>

<name>northTitle</name>

<required>true</required>

<rtexprvalue>true</rtexprvalue>

</attribute>

<attribute>

<name>westTitle</name>

<required>true</required>

<rtexprvalue>true</rtexprvalue>

</attribute>

</tag>

</taglib>

定义标签类

/**

*

*/

packagecom.myapp.web.tag;

importjavax.servlet.jsp.JspException;

importjavax.servlet.jsp.JspWriter;

importjavax.servlet.jsp.tagext.TagSupport;

/**

*@authorlouisliao

*

*/

publicclassDemoViewTagextendsTagSupport{

/**

*

*/

privatestaticfinallongserialVersionUID=1L;

privateStringnorthTitle="";

privateStringwestTitle="";

publicStringgetNorthTitle(){

returnnorthTitle;

}

publicvoidsetNorthTitle(StringnorthTitle){

this.northTitle=northTitle;

}

publicStringgetWestTitle(){

returnwestTitle;

}

publicvoidsetWestTitle(StringwestTitle){

this.westTitle=westTitle;

}

/**

*

*/

publicDemoViewTag(){

//TODOAuto-generatedconstructorstub

}

publicintdoStartTag()

{

returnsuper.SKIP_BODY;

}

publicintdoEndTag()throwsJspException

{

JspWriterwriter=pageContext.getOut();

try{

writer.print("这是我的标签示例<br/>westTitle:"+this.westTitle+"<br/>northTitle:"+this.northTitle);

}catch(Exceptione){

//TODO:handleexception

e.printStackTrace();

}

returnsuper.EVAL_PAGE;

}

}web.xml添加配置

<taglib>

<taglib-uri>http://mytag.sf.net</taglib-uri>

<taglib-location>/WEB-INF/mytag.tld</taglib-location>

</taglib>

测试页面

<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%>

<%@tagliburi="http://mytag.sf.net"prefix="myTag"%>

<%

Stringpath=request.getContextPath();

StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

<html>

<head>

<baserel="external nofollow" href="<%=basePath%>">

<title>MyJSP'tagtldDemo.jsp'startingpage</title>

<metahttp-equiv="pragma"content="no-cache">

<metahttp-equiv="cache-control"content="no-cache">

<metahttp-equiv="expires"content="0">

<metahttp-equiv="keywords"content="keyword1,keyword2,keyword3">

<metahttp-equiv="description"content="Thisismypage">

<!--

<linkrel="stylesheet"type="text/css"rel="external nofollow" href="styles.css">

-->

</head>

<body>

ThisismyJSPpage.<br>

<myTag:demo.ViewportnorthTitle="南"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 tld是什么和java中的tld文件是用来做什么的问题对您有所帮助,还望关注下本站哦!

金陵十三钗女演员(金陵十三钗女演员韩熙庭)java中创建对象的一般格式是什么?JAVA创建对象有哪几种方式