java中jsp table标签属性_JSP自定义标签-属性

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 运行测试

0c7456f6b78d8a0ff2cd3299c8b30098.png

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 运行测试

7b0f10fa25387349e35aee0bba90fb26.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java自定义标签是指在JSP页面自定义标签,以便在JSP页面使用自己开发的标签,便于模块化和重用。下面我们通过一个实例来了解Java自定义标签的用法。 假设我们需要在JSP页面显示一个表格,表格的数据是从后台数据库读取的。为了避免在JSP页面写大量的Java代码,我们可以使用Java自定义标签来实现。 首先,我们需要在项目创建一个Java类,用于实现自定义标签的功能。该类需要继承TagSupport类,并且需要实现doStartTag()方法和doEndTag()方法。doStartTag()方法用于处理开始标签,doEndTag()方法用于处理结束标签。 下面是一个简单的实例,该实例实现了一个自定义标签,用于在JSP页面显示一个表格: ``` public class TableTag extends TagSupport { private List<Object[]> data; // 表格数据 public void setData(List<Object[]> data) { this.data = data; } public int doStartTag() throws JspException { try { JspWriter out = pageContext.getOut(); out.print("<table>"); out.print("<tr><th>姓名</th><th>年龄</th></tr>"); for(Object[] row : data) { out.print("<tr>"); out.print("<td>" + row[0] + "</td>"); out.print("<td>" + row[1] + "</td>"); out.print("</tr>"); } out.print("</table>"); } catch (IOException e) { throw new JspException(e.getMessage()); } return SKIP_BODY; } public int doEndTag() throws JspException { return EVAL_PAGE; } } ``` 在上面的代码,我们定义了一个TableTag类,该类继承自TagSupport类。我们还定义了一个data属性,用于存储表格数据。在doStartTag()方法,我们使用JspWriter输出表格的HTML代码,并且将数据填充到表格。在doEndTag()方法,我们返回EVAL_PAGE,表示继续执行JSP页面的剩余部分。 接下来,我们需要在JSP页面使用该自定义标签。为了使用该标签,我们需要在JSP页面引入该自定义标签: ``` <%@ taglib prefix="mytag" uri="/WEB-INF/taglib.tld" %> ``` 在上面的代码,我们定义了一个mytag前缀,并且指定了自定义标签的URI。URI是一个唯一的标识符,用于识别自定义标签库。 下面是一个使用自定义标签JSP页面: ``` <mytag:table data="${data}" /> ``` 在上面的代码,我们使用mytag前缀引入自定义标签,并且使用data属性传递数据。在后台Java代码,我们需要将数据存储到request或session,以便在JSP页面使用。 以上就是Java自定义标签的实例分析,通过该实例,我们可以了解到Java自定义标签的用法以及如何在JSP页面使用自定义标签

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值