天天看点

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;

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

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

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;

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自定义标签-属性