JSP自定义标签-属性

1 带属性的JSP自定义标签

对于任何JSP自定义标签,可能都需要定义属性。要定义属性,您需要执行两个任务:

使用属性名称在TagHandler类中定义属性并定义setter方法

在TLD文件中的tag元素内定义attribute元素

让我们通过下面给出的标签来了解属性:

上面的m是前缀,show是标签名称,number是属性。

2 带属性的JSP自定义标签简单示例

在下面的示例中,我们将定义一个标签,返回任何给定数字的立方数。我们需要为标签定义了number属性。具体看下面:

2.1 编写标签处理程序

CubeNumber:

package com.yiidian;

import javax.servlet.jsp.JspException;

import javax.servlet.jsp.JspWriter;

import javax.servlet.jsp.tagext.TagSupport;

import java.util.Calendar;

/**

* 一点教程网 - http://www.yiidian.com

*/

public class CubeNumber extends TagSupport{

private int number;

public void setNumber(int number) {

this.number = number;

}

public int doStartTag() throws JspException {

JspWriter out=pageContext.getOut();

try{

out.print(number*number*number);

}catch(Exception e){e.printStackTrace();}

return SKIP_BODY;

}

}

2.2 编写mytags.tld文件

mytags.tld:

/p>

PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"

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

1.0

1.2

simple

http://www.yiidian.com/example-taglib

A simple tab library for the examples

cube

com.yiidian.CubeNumber

number

true

2.3 编写index.jsp

index.jsp:

一点教程网-带属性的JSP自定义标签

4的立方为:

2.4 运行测试

3 带属性的JSP自定义标签遍历数据库记录

接下来,我们创建一个自定义标签,输出数据库中特定表和ID的记录。(传入表名和ID号作为属性)

3.1 创建表

为了更好测试,在MySQL的test数据库建立customer表,SQL语句如下:

CREATE TABLE `customer` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(50) DEFAULT NULL,

`gender` varchar(20) DEFAULT NULL,

`telephone` varchar(100) DEFAULT NULL,

`address` varchar(100) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8

3.2 编写标签处理程序

PrintRecord:

package com.yiidian;

import javax.servlet.jsp.JspException;

import javax.servlet.jsp.JspWriter;

import javax.servlet.jsp.tagext.TagSupport;

import java.sql.*;

import java.util.Calendar;

/**

* 一点教程网 - http://www.yiidian.com

*/

public class PrintRecord extends TagSupport{

private String id;

private String table;

public void setId(String id) {

this.id = id;

}

public void setTable(String table) {

this.table = table;

}

public int doStartTag()throws JspException{

JspWriter out=pageContext.getOut();

try{

Class.forName("com.mysql.jdbc.Driver");

Connection con= DriverManager.getConnection(

"jdbc:mysql://localhost:3306/test","root","root");

PreparedStatement ps=con.prepareStatement("select * from "+table+" where id=?");

ps.setInt(1,Integer.parseInt(id));

ResultSet rs=ps.executeQuery();

if(rs!=null){

ResultSetMetaData rsmd=rs.getMetaData();

int totalcols=rsmd.getColumnCount();

//column name

out.write("

out.write("

");

for(int i=1;i<=totalcols;i++){

out.write("

"+rsmd.getColumnName(i)+"");

}

out.write("

");

//column value

if(rs.next()){

out.write("

");

for(int i=1;i<=totalcols;i++){

out.write("

"+rs.getString(i)+"");

}

out.write("

");

}else{

out.write("表或ID不存在");

}

out.write("

");

}

con.close();

}catch(Exception e){System.out.println(e);}

return SKIP_BODY;

}

}

3.3 编写mytags.tld文件

mytags.tld:

/p>

PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"

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

1.2

2.0

c

yiidian.com

printRecord

com.yiidian.PrintRecord

id

true

table

true

3.4 编写index.jsp

index.jsp:

一点教程网-带属性的JSP自定义标签输出数据库记录

3.5 运行测试

java中jsp table标签属性_JSP自定义标签-属性相关推荐

  1. java自定义标签简单_JSP 自定义标签之一 简单实例

    在jsp中使用自定义标签可以达到这样的目的,事实上,我们所熟知的各类框架基本上都是通过自定义标签的形式来实现的. 通过使用自定义标签,我们可以将实现复杂的逻辑在页面用简单的标签来加以展示.下面我们来实 ...

  2. java jsp 自定义标签_JSP自定义标签

    在本章中,我们将讨论JSP中的自定义标签.自定义标签是用户定义的JSP语言元素.当包含自定义标签的JSP页面被转换成一个servlet时,标签被转换为一个名为标签处理程序的对象的操作. 然后,Web容 ...

  3. java 自定义标签继承_JSP继承TagSupport如何开发带属性的自定义标签

    JSP继承TagSupport如何开发带属性的自定义标签 Taglib的无属性自定义标签不能满足我们,如果可以在标签从加入我们需要的属性那么这样的话会更发方便了,可以根据我需要的什么参数直接传到指定的 ...

  4. java web 自定义标签_JavaWeb学习——自定义标签

    自定义标签 一.自定义标签概述 使用标准JSP访问.操作JavaBean,是实现展现(HTML)与业务实现(Java代码)分离的第一步.然而,标准方法功能不够强大,以至于开发者无法仅仅使用它们开发应用 ...

  5. 学会怎样使用Jsp 内置标签、jstl标签库及自定义标签

    学习jsp不得不学习jsp标签,一般来说,对于一个jsp开发者,可以理解为jsp页面中出现的java代码越少,对jsp的掌握就越好,而替换掉java代码的重要方式就是使用jsp标签.  jsp标签的分 ...

  6. java自定义标签遍历_自定义标签 - CarlDing的个人页面 - OSCHINA - 中文开源技术交流社区...

    EL的不足,由JSTL来加强  -> 自定义标签来实现. 1:自定义标签 1:自定义标签也是类. 2:让用户在JSP页面使用,不引用Java代码的情况下,调用Java代码. 2:标签开的类的继承 ...

  7. java中jsp的题

    1) 在J2EE中,<%="2"+4%>输出(  c  ).(选择一项) a) 2+4 b) 6 c) 24 d) 不会输出,因为表达式是错误的 2)如果要在Jsp页面 ...

  8. JAVA中.jsp模板文件AJAX异步请求 - 数据渲染问题

    JAVA中.jsp模板文件AJAX异步请求 - 数据渲染失败,谁的过失? 后端已经查询出来结果,但是返回的API接口response查看不到对应的信息.(即:后台有,前台没有) 原因分析: 是因为AJ ...

  9. Java中根据对象的一个或多个属性进行排序

    Java中根据对象的一个或多个属性进行排序 使用情景 解决方法:使用一个工具类:ListUtils 具体使用: 创建一个正常实体类,不用实现comparable接口 调用ListUtiles,并用测试 ...

  10. Java-Web JSTL标签库、自定义标签库和MVC设计模式

    目录 一.JSTL标签库 1.什么是JSTL 2.JSTL标签库 3.使用taglib指令导入标签库 4.core标签库常用标签 (1)out和set (2)remove (3)url (4)if ( ...

最新文章

  1. 代码雨代码源复制_超火!黑客帝国代码雨
  2. python新建文件夹口令_python编程快速上手—口令保管箱
  3. 华为宣布:免费培养8000名嵌入式开发者!学习免费!实践免费!辅导免费!
  4. 计算机单招六百分好考吗,单招分数线一般多少 单招考过的几率有多少
  5. idea生成有参构造的快捷键,idea生成有参构造的快捷键_Idea_学习_09_Idea 方法自动生成参数默认名...
  6. sinx/x的极限为什么是1_某个波长的激光最小的聚焦光斑可以到多少?怎么让聚焦光斑更细?为什么聚焦系统要用扩束镜?...
  7. 小鑫の日常系列故事(七)——小纸条
  8. 心灵捕手~ 鸡汤悄悄话
  9. MySQL系列之STRAIGHT JOIN用法简介
  10. 微信小程序打包的原理_说说微信小程序和它的打包加密算法
  11. 【MOOC】华中科技大学操作系统慕课答案-第1~3章单元测试
  12. Kaldi中如何使用已经训练好的模型进行语音识别ASR呢?
  13. 基于Springboot + Vue2.0开发的 IM 在线聊天
  14. Glib学习笔记(1)
  15. 计算机硬件资源可,计算机硬件资源,Computer hardware resource,音标,读音,翻译,英文例句,英语词典...
  16. Ubuntu18.04装录屏软件OBS-Studio 21.1
  17. 前端开发工程师(VUE框架)招聘
  18. 如何用代码来快速批量下载人教社中小学电子教材
  19. 头像上传案例 (上传文件)
  20. 华为od机试: 叠积木

热门文章

  1. 浏览器中的 HTTP 请求从发起到结束经历的所有阶段
  2. Vue:安装Vue Devtools调试工具简便方法解决Cannot find module webpack-cli,@vue-devtools/build-tools等
  3. oracle union orderby,Oracle中union 和 order by 的联用
  4. 利用JAVA Service Wrapper把JAVA程序做成windows服务
  5. 数据结构_满二叉树、完全二叉树、二叉排序树、平衡二叉树
  6. Tensorflow训练渐渐变慢,迭代一段时间卡死
  7. 修改一行代码,将图像匹配效果提升14%
  8. 时分多路数字电话基带传输系统
  9. 【JUC】JDK1.8源码分析之ReentrantReadWriteLock(七)
  10. 题目1471: A+B without carry