invoke方法详解

invoke方法详解JspFragment.invoke方法是JspFragment最重要的方法,利用这个方法可以控制是否执行和输出标签体的内容、是否迭代执行标签体的内容或对标签体的执行结果进行修改后再输出。例如:在标签处理器中如果没有调用JspFragment.invoke方法,其结果就相当于忽略标签体内容;在标签处理器中重复调用JspFragment.invoke方法,则标签体内容将会被重复执行;若想

大家好,又见面了,我是你们的朋友全栈君。

JspFragment.invoke方法是JspFragment最重要的方法,利用这个方法可以控制是否执行和输出标签体的内容、是否迭代执行标签体的内容或对标签体的执行结果进行修改后再输出。例如:
在标签处理器中如果没有调用JspFragment.invoke方法,其结果就相当于忽略标签体内容;
在标签处理器中重复调用JspFragment.invoke方法,则标签体内容将会被重复执行;
若想在标签处理器中修改标签体内容,只需在调用invoke方法时指定一个可取出结果数据的输出流对象(例如StringWriter),让标签体的执行结果输出到该输出流对象中,然后从该输出流对象中取出数据进行修改后再输出到目标设备,即可达到修改标签体的目的。
自定义标签可以定义一个或多个属性,这样,在JSP页面中应用自定义标签时就可以设置这些属性的值,通过这些属性为标签处理器传递参数信息,从而提高标签的灵活性和复用性。

要想让一个自定义标签具有属性,通常需要完成两个任务:
在标签处理器中编写每个属性对应的setter方法
在TLD文件中描术标签的属性

为自定义标签定义属性时,每个属性都必须按照JavaBean的属性命名方式,在标签处理器中定义属性名对应的setter方法,用来接收JSP页面调用自定义标签时传递进来的属性值。 例如属性url,在标签处理器类中就要定义相应的setUrl(String url)方法。

在标签处理器中定义相应的set方法后,JSP引擎在解析执行开始标签前,也就是调用doStartTag方法前,会调用set属性方法,为标签设置属性。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135433.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • html支持el表达式吗_jsp还有人用吗

    html支持el表达式吗_jsp还有人用吗EL表达式ExpressionLanguage表达式语言,常用于取值我们之前在JSP中写java代码必须写在<%%>里面。并且取值代码比较繁琐。而EL表达式可以使我们的取值更加简洁,简化JSP代码语法非常简单${}看个小例子:我们在一个表单填写账号和密码提交后在成功页面显示出账号密码。这里就直接贴成功页面的代码&amp

    2022年7月28日
    4
  • 用Python做一个久坐提醒小助手

    用Python做一个久坐提醒小助手不论是日常的工作还是学习,现代年轻人在电脑屏幕时长数据能让人惊掉下巴,继而引发一系列身体不适的现象。小李也是久坐族中的一员,为了时刻提醒自己起来活动活动,我开发了一款基于PythonGUI编程的久坐提醒小助手。整体设计整体的构思类似于一个番茄时钟,提供一个倒计时功能并且在完成计时时发出警告。主要分为如下几个模块,一是时间选择模块,二是按钮模块,控制计时开始、暂停以及恢复,三是倒计时显示模块…

    2022年9月30日
    4
  • Java数组删除指定元素

    Java数组删除指定元素//删除数组中其中一个元素publicstaticvoidtestB(){String[]str={“Java”,”C++”,”Php”,”C#”,”Python”};//删除phpList<String>list=newArrayList<String>();for(inti=0;i<str.length;i++){list.add(str[i]

    2022年8月11日
    5
  • 遍历ArrayList、遍历Map

    遍历ArrayList、遍历Map标题遍历ArrayList1.使用For-Each遍历List2.把链表变为数组相关的内容进行遍历3.使用迭代器进行相关遍历(这个最好)importjava.util.*;//firstmethodList<String>list=newArrayList<String>();list.add(“Hello”);list.add(“Hi”);list.add(“Bye”);for(Stringstr:list){ System.ou

    2022年7月22日
    16
  • 2008的9月

    2008的9月

    2021年7月28日
    60
  • tomcat 宕机问题分析及解决「建议收藏」

    tomcat 宕机问题分析及解决「建议收藏」服务器环境:centos6.7+tomcat7.0.69+jdk1.7.0_55+mysql5.6.28场景:服务刚开始用户体验变差,请求时间长,之后出现404,500等与服务器交互失败问题。重启后用户体验回升,半小时内问题没有再现。日志中出现的问题有两个:                 1、Cause:org.springframework.jdbc.Can

    2022年7月26日
    19

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号