一、创建新表(假设在master数据库下新建)

二、连接数据库

开始-->控制面板-->管理工具-->数据源-->系统DSN-->添加-->SQL Server-->名称:userdb-->服务器:(local)\SQLEXPRESS或选择本机名-->下一步-->下一步-->打钩-更改默认的数据库为:master-->下一步-->完成

三、DefinedTagData项目

1、新建Java类:User

package sample.model;
public class User {
private int id;
private String name;
private String phone;
public void setId(int id){this.id=id;}//setId中的d必须小写
public void setName(String name){this.name=name;}
public void setPhone(String phone){this.phone=phone;}
public int getID(){return id;}
public String getName(){return name;}
public String getPhone(){return phone;}
}

2、新建Java类:UserDAO

package sample.model;

import java.sql.*;
public class UserDAO {
private ResultSet rst;
private Connection conn;
private void open()throws Exception{
String driver="sun.jdbc.odbc.JdbcOdbcDriver";
String url= "jdbc:odbc:userdb";//test--定义的数据库的名称
Class.forName(driver);
conn=DriverManager.getConnection(url);
}
private void close()throws SQLException{
if(rst!=null) rst.close();
if(conn!=null) conn.close();
}
public void save(User user)throws Exception{
String sql="";
open();
Statement stmt=conn.createStatement();
rst=stmt.executeQuery(sql);
close();
}
public void load(User user)throws Exception{
String sql="use master select name,phone from dbo.usera"+" where id = "+user.getID();
open();
Statement stmt=conn.createStatement();
rst=stmt.executeQuery(sql);
if(rst.next()){
user.setName(rst.getString(1));
user.setPhone(rst.getString(2));
}
close();
}
}

3、创建TLD文件
  新建文件--> Web--> 标记库描述符

  TLD名称:Data  前缀:data

4、创建标记处理程序

  新建文件--> Web-->标记处理程序

  类名:DataTag  包:sample.tag  要扩展的标记支持类:SimpleTagSupport

  TLD文件:WEB-INF--> tlds--> Data  新建属性:color和id

package sample.tag;

import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.JspException;
import sample.model.*; public class DataTag extends TagSupport {
private String id;//添加的属性
public void setId(String id) {
this.id = id;
}
private String color;//添加的属性
public void setColor(String color) {
this.color = color;
}
public int doStartTag(){
User user=new User();
user.setId(Integer.parseInt(id));
UserDAO dao=new UserDAO();
try{
dao.load(user);
JspWriter out=pageContext.getOut();
String html="<br><b style=\"color:"+color+"\">Welcome to Employee Detail Table.</b><br>";
html+=" <table border=\"1\"><tr><th>员工ID</th><th>员工姓名</th><th>联系电话</th></tr>";
html+="<tr><td>"+user.getID()+"</td><td>"+user.getName()+"</td><td>"+user.getPhone()+"</td></tr></table>";
out.println(html);
}catch(Exception e){
System.out.println(e.getMessage());
}
return SKIP_BODY;
} public int doEndTag() throws JspException{
return EVAL_PAGE;
}
}

PS:Data.tld内容

<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">
<tlib-version>1.0</tlib-version>
<short-name>data</short-name>
<uri>/WEB-INF/tlds/Data</uri> <tag>
<name>DataTag</name>
<tag-class>sample.tag.DataTag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>id</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.String</type>
</attribute>
<attribute>
<name>color</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.String</type>
</attribute>
</tag>
<tag>
<name>DataTable</name>
<tag-class>sample.tag.DataTable</tag-class>
<body-content>JSP</body-content>
<attribute>
<name>id</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>int</type>
</attribute>
<attribute>
<name>color</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>java.lang.String</type>
</attribute>
</tag>
</taglib>

5、index.jsp

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@ taglib uri="/WEB-INF/tlds/Data" prefix="data"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<data:DataTag id="1" color="blue"/>
</body>
</html>

6、显示结果

JSP自定义标签——调用数据库(通过id号搜索相关信息)的更多相关文章

  1. 【转】Jsp自定义标签详解

    一.前言 原本是打算研究EXtremeComponents这个jsp标签插件,因为这个是自定义的标签,且自身对jsp的自定义标签并不是非常熟悉,所以就打算继续进行扫盲,开始学习并且整理Jsp自定义标签 ...

  2. JSP 自定义标签

    0 标签技术的API继承体系 1 作用 jsp自定义标签用于移除页面中的java代码 2 实现 2.1 标签处理类ViewIPTag.java package com.zsm.util; import ...

  3. JSP自定义标签开发入门

    一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; 首先我们需要大致了解开发 ...

  4. 一个简单的jsp自定义标签

    学到了一个简单的jsp自定义标签,后面有更多的例子,会更新出来: 例子1: 步骤: 1.编写标签实现类: 继承javax.servlet.jsp.tagext.SimpleTagSupport; 重写 ...

  5. JSP自定义标签库

    总所周知,JSP自定义标签库,主要是为了去掉JSP页面中的JAVA语句 此处以格式化输出时间戳为指定日期格式为例,简单介绍下JSP自定义标签的过程. 编写标签处理类(可继承自javax.servlet ...

  6. jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题

    jsp 自定义标签解决jsp页面中int时间戳的时间格式化问题 之前在项目中根据需求,需要自定义标签,经过查询w3c文档,自己也踩了一些坑,特此记录自定义标签的步骤,下面就以我之前的一个例子中的定义一 ...

  7. JSP自定义标签开发入门《转》

    JSP自定义标签开发入门 一般情况下开发jsp自定义标签需要引用以下两个包 import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; ...

  8. Rhythmk 一步一步学 JAVA(7): jsp 自定义标签

    1.实现Tag接口: TagSupport类实现了Tag接口,为我们提供了4个重要的方法(见表6-5). 1.1. TagSupport类中的常用方法           int doStartTag ...

  9. 【转】JSP自定义标签

    转载自:http://www.cnblogs.com/edwardlauxh/archive/2010/05/20/1918587.html tld标签的描述文件 标签的描述文件是一个描述整个标签库标 ...

随机推荐

  1. .net预览功能

    1.把需要预览的文件格式转换为pdf 2.下载pdttoswf软件 3.实现预览swf功能 ok excel转pdf时会出现乱掉的问题.是excel文件的问题.调整excel文件的格式即可.

  2. parseInt方法——将字符串解析为int值

    parseXxx()方法 语法:static int parseInt(String s)    返回字符串的十进制整数形式 static int parseInt(String s, int rad ...

  3. 如何让一个json文件显示在表格里

    <body> //首先得把架子搭起来 <table id = "tb" border="1"> <tr></tr> ...

  4. Python--逆序打印

    才开始学习Python,我个人喜欢边看实例边学习其中的知识点,于是在网上找到了“Python100例”, 案例很不错,但是其中有几个例子不能正确实现,比如第29个例子--“给一个不多于5位的正整数, ...

  5. Mongodb 副本集分片(一)---初始化mongodb安装启动

    写在前面:mongodb是nosql非关系型数据库中,比较受欢迎的产品.在数据持久化及与关系型数据库的关联上也做的比较好,目前各大公司在存放二进制文件(图片.视频等)中应用也比较广泛.其遵循的key- ...

  6. 深入Docker

    深入Docker 作者:ramanallamilli 随着持续交付等新型开发方法的兴起,工程师再也不会凡事靠运气,希望提交代码上去后,它能在未知环境正常运行.我们可以看到业界这样的转变——开发,质量保 ...

  7. 【小月博客】 Html5 上传图片 移动端、PC端通用

    在博客园注册账号有些天了,感觉有些许欣慰,自己写的东西有人在看,有人在评论很是开心.(ps: 满足一下虚荣心吧!) 废话不多说了,说一下今天给大家分享的是 html5上传图片.我们是在移动端使用的,但 ...

  8. 新手要想学好Linux系统就必须做好这四件事情

    一般情况下,大部分人接触Linux的机会并不多,对Linux平台下的开发更是一无所知.而现在的发展趋势却越来越表明:无论是作为一个优秀的软件开发人员,或是互联网.IT行业的从业人员,掌握Linux是一 ...

  9. gtp转换mbr

    http://wenku.baidu.com/link?url=P_t0U8Q-LIUdxVGHBefipAvbV6fg3jnX8hc8ugaRoo5WWd8GJePO8sBbtLON15gvOZh4 ...

  10. 1千万英国用户被Cryptolocker勒索软件瞄准

    英国国家打击犯罪调查局(NCA)发布国家紧急警报,警报一场大规模的垃圾邮件,这些邮件中包含了一款名为CryptoLocker的勒索程序,把目标瞄准了1千万英国的email用户,该程序会加密用户的文档, ...