更新时间:2024-01-15 来源:黑马程序员 浏览量:

javax.servlet.jsp.tagext.JspFragment类是在JSP2.0中定义的,它的实例对象代表JSP页面中的一段JSP片段,但是这段JSP片段中不能包含JSP脚本元素。
JSP容器在处理简单标签的标签体时,会把标签体内容用一个JspFragment对象表示,并调用标签处理器对象的setJspBody()方法将JspFragment对象传递给标签处理器对象,标签开发者可以根据需要调用JspFragment对象的方法来决定是否输出标签体、或者循环多次输出标签体等。在JspFragment类中定义了两个方法,方法的说明如表9-5所示。
表9-5 JspFragment类的方法

在表9-5中,JspFragment的invoke()方法是简单标签开发中最重要的一个方法,它用于控制如何执行标签体的内容。如果在doTag()方法中调用一次invoke()方法,就会执行一次标签体,多次调用invoke()方法就会多次执行标签体。与BodyContent对象不同的是,在JspFragment中没有提供容器缓存标签体的内容。与BodyContent对象不同的是,在JspFragment中没有提供容器缓存标签体的内容,也没有定义getString()之类的方法取出标签体内容,如果想对标签体内容进行修改,只需在调用invoke()方法时传入一个可取出结果数据的输出流对象,例如StringWriter、CharArrayWriter,让标签体的执行结果输出到该输出流对象中,然后取出数据进行修改后再输出到浏览器即可。
本文版权归黑马程序员Java培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:黑马程序员Java培训学院
毕业16个工作日,平均薪资13180元,就业率100%,广州黑马AI智能应用开发(Java)学科20250529班
2026-03-06毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03AI智能应用开发课程紧贴企业刚需,全程高效学习,直达中高级软件开发水平
2026-02-28风口正劲!黑马程序员又一AI智能应用开发班毕业当天100%就业!
2026-02-27