首页 > 编程知识 正文

html5定义标签大小,html自定义标签属性

时间:2023-05-04 12:57:15 阅读:52026 作者:2469

自定义标记是用户定义的JSP语言元素。 当包含自定义标记的JSP页转换为servlet时,该标记将转换为对象名为标记处理程序的操作。 接下来,Web容器在运行JSP页的servlet时调用这些操作。

使用JSP标记扩展,可以创建可以直接插入到JavaServer页面中的新标记,就像上一章中介绍的内置标记一样。 JSP 2.0规范引入了用于创建这些自定义标记的简单标记处理程序。

owriteacustomtagyoucansimplyextendsimpletagsupportclassandoverridethedotag () method,whereyoucanplaceyourcodetogeneratecogenerateconerated

Create 'Hello' Tag:

consideryouwanttodefineacustomtagnamedandyouwanttouseitinthefollowingfashionwithoutabody :

To create a custom JSP tag,youmustfirstcreateajavaclassthatactsasataghandler.soletuscreatehellotagclassasfolllows 3360

packagecom.vue5; 导入javax.servlet.JSP.tag ext.*; 导入javax.servlet.JSP.*; importjava.io.*; publicclasshellotagextendssimpletagsupport { public void dotag () throwsJspException,io exception (jspwriter out=getjspconted ) ' ); }

abovecodehassimplecodingwheredotag (methodtakesthecurrentjspcontextobjectusingggetjspcontext ) methodandusesitosend ' held to

编译上面的类,并将其复制到可用于环境变量CLASSPATH的目录中。 最后,创建一个名为webapps ROOT WEB-INF custom.tld的标记库文件。

1.02.0 exampletldhellocom.tutorials point.hellotagempty

在JSP程序中使用上面定义的自定义标签Hello的时间如下:

a如果A sample custom tag尝试调用上面的JSP,结果应该如下:

赫尔洛自定义标签!

访问标签主体:

可以将消息添加到标签正文中,如标准标签所示。 定义名为的自定义标记,并考虑按如下方式使用它:

this is消息主体

对上述代码进行以下更改,处理标签正文吧。

packagecom.tutorialspoint; 导入javax.servlet.JSP.tag ext.*; 导入javax.servlet.JSP.*; importjava.io.*; publicclasshellotagextendssimpletagsupport { string writer SW=new string writer (; 公共语音文档(throwsjspexception,ioexception ) getjspbody ).invoke ) SW; getJspContext ().getOut ) (.println ) SW.tostring ) ); }

在这种情况下,调用生成的输出首先被StringWriter捕获,然后写入与标记关联的JspWriter。 因此,必须修改TLD文件,如下所示:

1.02.0 exampletldwithbodyhellocom.tutorials point.hellotagscriptless

现在,用正确的身体调用上面的标签吧。 如下所示。

asamplecustomtagthisismessagebody的输出结果如下。

this is消息主体

自定义标记属性:

可以使用各种属性和自定义标签。 要接受属性值,自定义标记类必须实现与JavaBean setter方法相同的setter方法,如下所示:

packagecom.tutorialspoint; 导入javax.servlet.JSP.tag ext.*; 导入javax.servlet.JSP.*; importjava.io.*; publicclasshellotagextendssimpletagsupport {私有消息; publicvoidsetmessage (字符串msg ) {this.message=msg; } string writer SW=new string writer (; 公共语音文档(throwsjspexception,ioexception ) if )消息!=null ) {/* usemessagefromattribute */jspwriter out=getjspcontext ().getOut ); out.println (消息; } else {/* usemessagefromthebody */getjspbody ().invoke ) SW; getJspContext ().getOut ) (.println ) SW.tostring ) ); } }

由于属性的名称为" message ",因此setter方法使用setMessage (然后使用元素将此属性添加到TLD文件中。

1.02.0 exampletldwithbodyhellocom.tutorials point.hellotagscriptlessmessage

接下来,让我们使用具有消息属性的JSP。

a样例自定义标签的输出结果如下。

This is custom tag

希望上面的例子对你有意义。 值得注意的是,可以向属性中添加以下属性:

属性的目的

名称name元素定义属性的名称。 每个属性名称对于特定标记必须是唯一的。

必须指定此属性是必需的还是可选的。 关于选项是假的。

rtexprvalue声明tag属性的运行时表达式的值是否有效

类型定义此属性的Java类型。 默认情况下,它被视为字符串

说明可以提供信息的说明。

以分段形式声明是否将此属性值视为JspFragment。

以下示例指定与属性相关的属性:

. attribute _ namefalsejava.util.date false .

如果同时使用这两个属性,则可以按如下方式修改TLD :

. attribute _ name1false Java.util.booleanfalseattribute _ name2true Java.util.date .

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。