jsp中标签库的使用

     Displaytag标签库可以显示各种不同的表格,非常好用,使用标签库需要配置下面几个部分:一,将驱动放到项目的lib文件夹下,
    二,displaytag.tld放到WEB-INF
    三,配置web.xml文件
    <taglib>
  <taglib-uri>displaytag</taglib-uri>
  <taglib-location>/WEB-INF/displaytag.tld</taglib-location>
</taglib>
<filter>
    <filter-name>exportFilter</filter-name>
    <filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class>
</filter>
注意:此处的displaytag值和jsp页面中引用的<%@ taglib uri="displaytag" prefix="display"%>中的displaytag要保持一致。此外,tomcat7的配置不是这样的,而是

<jsp-config>
     <taglib>
        <taglib-uri>displayta</taglib-uri>
        <taglib-location>/WEB-INF/displaytag.tld</taglib-location>
    </taglib>
</jsp-config>
<filter>
    <filter-name>exportFilter</filter-name>
    <filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class>
</filter>
    使用例子:<%@ page contentType="text/html;charset=gb2312"%>
  <%@ page import="java.sql.*"%>
<%@ page import="java.util.*"%>
<%@ page import="javax.naming.*"%>
<%@ page import="javax.sql.DataSource"%>
  <%@ taglib uri="displaytag" prefix="display"%>
  <html>
  <body>
  <%
//Class.forName("com.jdbc.microsoft.sqlserver.SQLServerDriver").newInstance();
  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
  String url="jdbc:sqlserver://localhost:1433;DatabaseName=data_lyx";
  String user="sa";
  String password="sa";  
  Connection conn= DriverManager.getConnection(url,user,password);
  Statement stmt=conn.createStatement();
  String sql="select id,title,datatime from data_lyx";
  ResultSet rs=stmt.executeQuery(sql);
  List list = new ArrayList();
  ResultSetMetaData rsmd = rs.getMetaData();
       
            while ( rs.next() )
            {
                Map map = new HashMap();
               
                for ( int i = 1; i <= rsmd.getColumnCount(); i++ )
                {
                    map.put(rsmd.getColumnName(i), rs.getObject(i));
                }
               
                list.add(map);
            }       
  request.setAttribute("results", list);
  %>
<display:table name="results" class="tagtable" pagesize="15">
  <display:column value="<img src='../images/pic_01.gif'>" style=" width:22px"/>
<display:column property="title" title="" class="tagtd" href="newsDetail.jsp" paramId="id" paramProperty="id" sortable="true"/>
<display:column property="datetime" title="" class="tagtd" maxLength="10"  style=" width:70px"/>
    <display:setProperty name="paging.banner.items_name" value="新闻" />
<display:setProperty name="paging.banner.placement" value="bottom" />
    <display:setProperty name="paging.banner.all_items_found">
        <p align=center class="pagebanner">共{0}条{2}</p>
    </display:setProperty>
<display:setProperty name="paging.banner.some_items_found">
        <p align=center class="pagebanner">共{0}条{1},  本页显示第{2}到第{3}条{1}</p>
    </display:setProperty>
    <display:setProperty name="paging.banner.first">
  <div align=center class="pagelinks">
        [<a href="{1}">首页</a>/<a href="{2}">上一页</a>]
        {0}
        [<a href="{3}">下一页</a>/<a href="{4}">尾页</a>]
  </div>
    </display:setProperty>
<display:setProperty name="paging.banner.full">
  <div align=center class="pagelinks">
        [<a href="{1}">首页</a>/<a href="{2}">上一页</a>]
        {0}
        [<a href="{3}">下一页</a>/<a href="{4}">尾页</a>]
  </div>
    </display:setProperty>
<display:setProperty name="paging.banner.last">
  <div align=center class="pagelinks">
        [<a href="{1}">首页</a>/<a href="{2}">上一页</a>]
        {0}
        [<a href="{3}">下一页</a>/<a href="{4}">尾页</a>]
  </div>
    </display:setProperty>
</display:table>
</body>
</html>
驱动和displaytag.tld文件在附件中:





补充:使用标签库大多数情况下是将数据库中的数据导出,所以我将使用标签库总结为以下四点:
一:标签库的驱动,tld文件,web.xml文件配置好
二:将数据库中的数据以list表的形式返回并使用下面语句给标签:
request.setAttribute("results", list);
  %>
<display:table name="results" class="tagtable" pagesize="15">
经过上面的配置标签已经能够使用了,使用的是标签库的默认形式,如果使标签库更漂亮,可以使用下面的方法:
三:使用css样式
四:更改标签的属性。

你可能感兴趣的:(jsp)