"1. 写一个 Dao 层方法 查询数据方法要写成静态 以便直接调用 public static List findAllCategories() throws SQLException{ String sql = 'select * from category'; QueryRunner qr = new QueryR .."

JSP 自定义标签查询数据

本贴最后更新于 647 天前,其中的信息可能已经天翻地覆

1. 写一个 Dao 层方法 查询数据方法要写成静态 以便直接调用

	public static List<Category> findAllCategories() throws SQLException{
		String sql = "select * from category";
		QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
		return qr.query(sql, new BeanListHandler<Category>(Category.class));
	}

2. 创建一个.tld 文件

<?xml version="1.0" encoding="UTF-8" ?>

<taglib 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 http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
  version="2.0">
    
  <description>JSTL 1.1 functions library</description>
  <display-name>JSTL functions</display-name>
  <tlib-version>1.1</tlib-version>
  <short-name>myfn</short-name>
  <uri>http://www.zhangshaocui.cn</uri>   <!-- 找不到文件时所访问的路径 -->

  <function>
    <description>
      Tests if an input string contains the specified substring.
    </description>
    <name>findAllCategories</name>     <!-- 所调用的方法名 -->
    <function-class>com.yinhe.dao.CategoryDao</function-class>  <!--  所调用的方法的全路径 -->
    <function-signature>java.util.List findAllCategories()</function-signature>  <!-- 返回值类型与方法名 -->
  </function>
  </taglib>

3. 在前台用 c 标签 循环出来所有数据


<%@taglib prefix="myfn" uri="http://www.zhangshaocui.cn"%>

	<c:forEach var="category" items="${myfn:findAllCategories()}">											
		<a href="product_list.jsp">${category.cname}<span class="sr-only">(current)</span></a>
	</c:forEach> 

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    2211 引用 • 7514 回帖 • 973 关注
回帖   
请输入回帖内容...