javaweb带属性的自定义标签
带属性的自定义标签:
1.先在标签处理器中定义setter方法,建议把所有的属性类型都设置为String类型。
package com.javaweb.tag; import java.io.IOException; import javax.servlet.jsp.JspContext;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.JspFragment;
import javax.servlet.jsp.tagext.JspTag;
import javax.servlet.jsp.tagext.SimpleTag; public class HelloSimpleTag implements SimpleTag {
private String value;
private String count; public void setCount(String count) {
this.count = count;
} public void setValue(String value) {
this.value = value;
} //标签体的逻辑实际应该编写到此方法中
@Override
public void doTag() throws JspException, IOException {
JspWriter out=pageContext.getOut();
int c=0;
c=Integer.parseInt(count);
for(int i=0;i<c;i++){
out.print((i+1)+":"+value);
out.print("<br>");
}
} @Override
public JspTag getParent() {
System.out.println("getParent");
return null;
} @Override
public void setJspBody(JspFragment arg0) {
System.out.println("setJspBody");
}
private PageContext pageContext;
//JSP引擎调用,把代表jsp页面的PageContext对象传入
@Override
public void setJspContext(JspContext arg0) {
System.out.println(arg0 instanceof PageContext);
this.pageContext=(PageContext)arg0;
} @Override
public void setParent(JspTag arg0) {
System.out.println("setParent");
} }
2.在tld文件中描述属性
<attribute>
<!-- 属性名,需和标签处理器类的setter方法定义的属性相同 -->
<name>value</name>
<!-- 该属性是否被必须 -->
<required>true</required>
<!-- rtexprvalue:runtime expression value 当前属性是否可以接受运行时表达式的动态值 -->
<rtexprvalue>true</rtexprvalue>
</attribute> <attribute>
<name>count</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
3.在jsp页面中使用属性
属性名同tld文件中定义的名字。
<koala:hello value="koala" count="8"/>
wx搜索“程序员考拉”,专注java领域,一个伴你成长的公众号!

javaweb带属性的自定义标签的更多相关文章
- [原创]java WEB学习笔记41:简单标签之带属性的自定义标签(输出指定文件,计算并输出两个数的最大值 demo)
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- JavaWeb学习篇之----自定义标签&&JSTL标签库详解
今天来看一下自定义标签的内容,自定义标签是JavaWeb的一部分非常重要的核心功能,我们之前就说过,JSP规范说的很清楚,就是Jsp页面中禁止编写一行Java代码,就是最好不要有Java脚本片段,下面 ...
- 超全面的JavaWeb笔记day13<JSTL&自定义标签>
1.JSTL标签库(重点) core out set remove url if choose when otherwise forEach fmt formatDate formatNumber 2 ...
- JavaWeb学习之JSTL自定义标签库的使用、JSTL自定义函数库(7)
一.自定义标签,步骤 * 确定需求 * <my:date /> 输出当前系统的时间 yyyy-MM-dd hh:mm:ss:SSS * 编写Java类 新建包名:com.yxl.tag,新 ...
- JavaWeb之 JSP:自定义标签
当jsp的内置标签和jstl标签库内的标签都满足不了需求,这时候就需要开发者自定义标签. 自定义标签 下面我们先来开发一个自定义标签,然后再说它的原理吧! 自定义标签的开发步骤 步骤一 编写一个普通的 ...
- JavaWeb之 JSP:自定义标签的创建和使用
当jsp的内置标签和jstl标签库内的标签都满足不了需求,这时候就需要开发者自定义标签. 下面我们先来开发一个自定义标签,然后再说它的原理吧! 自定义标签的开发步骤 步骤一 编写一个普通的java类, ...
- javaweb(二十三)——jsp自定义标签开发入门
一.自定义标签的作用 自定义标签主要用于移除Jsp页面中的java代码. 二.自定义标签开发和使用 2.1.自定义标签开发步骤 1.编写一个实现Tag接口的Java类(标签处理器类) 1 packag ...
- javaweb基础(23)_jsp自定义标签
一.自定义标签的作用 自定义标签主要用于移除Jsp页面中的java代码. 二.自定义标签开发和使用 2.1.自定义标签开发步骤 1.编写一个实现Tag接口的Java类(标签处理器类) 1 packag ...
- [JavaWeb基础] 012.Struts2 自定义标签使用
在做开发中,我们会把一些比较经常使用到的代码封装起来,这样可以加快开发的速度和减少错误,并且在修改bug可以一次修改多次修复.那么在前端页面上,如果我们要经常用到公用的显示功能,并涉及到服务端逻辑操作 ...
随机推荐
- UIScreen和UIWindow
UIScreen 和UIWindow UIScreen object defines the properties associated with a hardware-based display 就 ...
- 浏览器性能接口performance.timing说明
原文来自于 https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html 下图描述了该接口的各个时间 ...
- 在swift工程调用第三方库,Bridging导入头文件提示not found解决办法
swift语言简洁,上手之后感觉还不错,今天在使用swift调用cocoapods的AFNetworking时候总是提示“'AFNetworking/AFNetworking.h' file not ...
- 2019 CCPC-Wannafly Winter Camp Day3(Div2, onsite)
solve 4/11 补题:5/11 A 二十四点* Code:pai爷 zz Thinking :pai爷 打表找规律,1张牌 10个不可能的 2张牌有 43 种不可能的 3张牌 有74 种不可能 ...
- 3. Javascript学习笔记——变量、内存、作用域
3. 变量.内存.作用域 3.1 基本类型和引用类型的值 ECMAScript 变量可能包含两种不同数据类型的值:基本类型值[Undefined.Null.Boolean.Number 和 Strin ...
- oracle模糊查询提高效率的方法
转载:https://blog.csdn.net/weixiaohuai/article/details/83513957 https://blog.csdn.net/chihen/article/d ...
- 赋值运算与深浅copy
1.复制运算 l1 = [1,2,3,['a','b']] l2 = l1 l1[0] = 111 print(l1) # [111, 2, 3, ['a', 'b']] print(l2) # [1 ...
- thymeleaf常用语法
常用标签语法:①th:text<span th:text="${name}">1</span>注释:如果${name}有值则将替换掉1的值,若无则为1 ②t ...
- XNA 中3D模型的显示
XNA 中3D模型的显示: ModelMeshPart[] meshParts; Model start_model; Matrix[] dq_model_transforms; Matrix vie ...
- Eclipse的简单的用法大全
Eclipse我认为最重要的功能:断点调试 Debug的作用: 调试程序并且查看程序的执行流程 如何查看程序执行的流程 断点(就是一个标记,表示从哪里开始) 设置断点(在你想要断点的代码的左边双击即可 ...