精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用JSP實(shí)現(xiàn)簡(jiǎn)易的SQL報(bào)表

開發(fā) 后端
本文向您介紹使用JSP實(shí)現(xiàn)簡(jiǎn)易SQL報(bào)表的過(guò)程,通過(guò)對(duì)JSTL和EL達(dá)到了方便改版的目的。

這個(gè)內(nèi)容也是根據(jù)企業(yè)學(xué)員的要求準(zhǔn)備的. 其實(shí)這個(gè)小項(xiàng)目是剛畢業(yè)時(shí)候做的, 很多時(shí)候我們希望執(zhí)行下面的SQL/HQL然后得到一個(gè)HTML表格輸出:

輸入: select ID as 編號(hào), NAME as 姓名, AGE as 年齡 from XXX

輸出:

編號(hào) 姓名 年齡
     

要求是如果SQL變動(dòng), 仍然要顯示出來(lái)所有的別名字段信息和數(shù)據(jù).

因?yàn)楝F(xiàn)在Hibernate用的比較廣泛, 所以優(yōu)先考慮用Hibernate來(lái)實(shí)現(xiàn), 結(jié)果發(fā)現(xiàn)如果是實(shí)體映射查詢語(yǔ)句, 可以方便的用:List Query.getReturnAliases() 獲得別名, 然而我們知道查詢時(shí)有時(shí)候語(yǔ)句是很復(fù)雜的, 不全是HQL, 這時(shí)候用SQLQuery的時(shí)候, 驚訝的提示這個(gè)方法尚未實(shí)現(xiàn)(***版的Hibernate 3.3 是否實(shí)現(xiàn)尚未測(cè)試), 用的版本是Hibernate 3.2, 對(duì)應(yīng)的代碼是:

DAO

/**
 * 根據(jù)查詢語(yǔ)句返回結(jié)果, 并包含結(jié)果的列名
 * @param hql
 * @param args
 * @return
 */
public List queryAllForReport( final String hql, final Object... args) {
    List list = getHibernateTemplate().executeFind(new HibernateCallback() {
         public Object doInHibernate(Session session)
         throws HibernateException, SQLException {
         Query query = session.createQuery(hql);
         
         for(int i =0; i < args.length; i++) {
             query.setParameter(i, args[i]);
         }
         

         List list = query.list();
         list.add(0, query.getReturnAliases());
         
         return list;
         }
        });
    
    // Hibernate做count計(jì)算返回一般都是對(duì)象
    
    return list;        
}

測(cè)試代碼:

List list = dao.queryAllForReport("select id as 編號(hào), 
			name as 登錄名, address as 地址, realName from User");

  System.out.println(list.size());

for(Object[] row : list) {
    for(Object v : row) {
        System.out.print(v + "\t");
        
    }
    
    System.out.println();
}

***不得不回到JDBC, 用 ResultSet和ResultSetMetaData實(shí)現(xiàn)了這個(gè)功能, 詳細(xì)代碼(自己進(jìn)行修改即可實(shí)現(xiàn))如下:

﹤%@ page language="java" import="java.util.*, java.sql.*" pageEncoding="UTF-8"%﹥
﹤%@ taglib prefix="c" uri="

﹤!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"﹥
﹤html﹥
  ﹤head﹥
   
    ﹤title﹥SQL報(bào)表﹤/title﹥
   
    ﹤meta http-equiv="pragma" content="no-cache"﹥
    ﹤meta http-equiv="cache-control" content="no-cache"﹥
    ﹤meta http-equiv="expires" content="0"﹥   


  ﹤/head﹥
 
  ﹤body﹥
   ﹤form action=""﹥
   ﹤textarea name=sql cols=80 rows=10﹥${param.sql}﹤/textarea﹥﹤br﹥
   ﹤input type=submit value=查詢﹥
   ﹤/form﹥
  
  ﹤c:if test="${!empty param.sql}"﹥

   ﹤%
  //new oracle.jdbc.driver.OracleDriver();
   Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.41:1521:xe", "hr", "hr");
   Statement stmt = conn.createStatement();
   ResultSet rs = stmt.executeQuery(request.getParameter("sql"));
  
   if(rs == null) {
       stmt.close();
       conn.close();
       return;
   }
  
   // 取列名
   ResultSetMetaData meta = rs.getMetaData();
   int cols = meta.getColumnCount();
   ArrayList colNames = new ArrayList();
  
   for(int i = 1; i ﹤= cols; i++) {
       colNames.add(meta.getColumnLabel(i));
   }
  
   request.setAttribute("colNames", colNames);
   %﹥
   ﹤table border="1"  cellpadding="0" style="border-collapse: collapse; "  width="100%" bordercolor="#000000" align=center ﹥
  
   ﹤tr﹥
       ﹤c:forEach items="${colNames}" var="c"﹥
       ﹤td﹥${c}﹤/td﹥
       ﹤/c:forEach﹥
       ﹤/tr﹥
      
   ﹤%
  while(rs.next()) {
      colNames.clear();
     
       for(int i = 1; i ﹤= cols; i++) {
           Object value = rs.getObject(i);
           System.out.println(value.getClass());
          
           // TODO 更多格式化控制
           if(value instanceof java.sql.Date) {
               value = rs.getTimestamp(i);// 取出精確日期
               java.text.SimpleDateFormat df = new java.text.SimpleDateFormat("yyyy年MM月dd日HH點(diǎn)mm分ss秒EEE");
               value = df.format(value);
           }
          
           if(value instanceof java.math.BigDecimal) {
               java.math.BigDecimal v = (java.math.BigDecimal)value;
               value = v.doubleValue();
                // 要求輸出時(shí)候最少顯示兩位小數(shù), 最多輸出小數(shù)點(diǎn)后3個(gè)數(shù)
                java.text.NumberFormat format = java.text.NumberFormat.getInstance();// 只對(duì)小數(shù)格式化
                format.setMaximumFractionDigits(2);// 最多3位小數(shù)
                format.setMinimumFractionDigits(1);// 最少2位小數(shù)
                value = format.format(value);// ==﹥ String
           }
          
           colNames.add(value);
       }
      
      request.setAttribute("colNames", colNames);
     
      %﹥
      ﹤tr﹥
           ﹤c:forEach items="${colNames}" var="c"﹥
           ﹤td﹥${c}﹤/td﹥
           ﹤/c:forEach﹥
         ﹤/tr﹥
      ﹤%
     
  }
  
   rs.close();
   stmt.close();
   conn.close();
   %﹥
   ﹤/table﹥
   ﹤/c:if﹥
  ﹤/body﹥
﹤/html﹥

 

用到了JSTL和EL, 總的來(lái)說(shuō)要改版還是很方便的. 但是運(yùn)行需要比較高的Tomcat版本, 如5.5以上, 并需要JSTL類庫(kù). 不過(guò), 類似的模版項(xiàng)目開源框架應(yīng)該是很多很多的, 例如眾多的Report框架.

 

【編輯推薦】

  1. JSP實(shí)現(xiàn)基于WEB的數(shù)據(jù)庫(kù)圖片存儲(chǔ)與動(dòng)態(tài)顯示
  2. 在JSP頁(yè)面中輕松實(shí)現(xiàn)數(shù)據(jù)餅圖
  3. 用JSP實(shí)現(xiàn)數(shù)據(jù)庫(kù)圖片的存儲(chǔ)與顯示
責(zé)任編輯:佚名 來(lái)源: Java Blog
相關(guān)推薦

2009-07-02 13:12:33

JSP打印報(bào)表

2009-07-06 16:17:36

生成PDF報(bào)表JSP頁(yè)面

2009-07-02 13:18:53

JSP打印報(bào)表

2009-07-04 00:50:38

2009-07-03 16:46:07

JSP環(huán)境變量

2010-07-19 11:35:05

2009-06-06 18:43:34

JSP Action

2009-06-30 15:05:52

JSP數(shù)據(jù)JavaScript數(shù)

2009-07-06 15:31:42

JSP Action

2022-07-11 16:19:22

css屬性鴻蒙

2010-07-20 09:15:03

SQL Server

2010-04-06 15:41:22

Oracle repo

2023-09-15 08:18:49

cookie網(wǎng)關(guān)代理

2010-05-21 12:27:22

SVN使用教程

2011-07-11 13:16:19

SQL TraceSQL Profile

2015-03-10 11:30:01

CanvasJS簡(jiǎn)易時(shí)鐘

2011-08-02 13:44:49

JSPJDBCSQL Server

2023-12-29 08:31:49

Spring框架模塊

2011-10-27 11:32:36

Google云計(jì)算SQL數(shù)據(jù)庫(kù)

2021-06-10 08:29:15

Rollup工具前端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

亚洲情侣在线| 日本香蕉视频在线观看| 91国产精品视频在线观看| www五月婷婷| 日本不卡高清| 欧美视频在线观看免费| 欧美成年人在线观看| 国产男女激情视频| 婷婷五月综合激情| 激情久久中文字幕| 精品免费视频.| 黄色污污在线观看| 91资源在线视频| 日韩国产一区二区三区| 欧美影院一区二区| 日韩欧美三级一区二区| 无码人妻精品一区二区蜜桃色欲| 午夜先锋成人动漫在线| 偷拍日韩校园综合在线| 国产精品国产精品国产专区蜜臀ah| 人人干在线观看| 日韩午夜电影免费看| 日本一区二区三区dvd视频在线 | 中文字幕免费一区二区| 亚洲黄页网在线观看| www.成年人视频| 好吊色一区二区| 亚洲精品偷拍| 日韩精品视频观看| 夫妻免费无码v看片| 五月婷婷六月丁香| 久久精品人人| 在线观看免费高清视频97| 天堂网在线免费观看| 黄色小网站在线观看| av资源久久| 欧美日韩激情在线| 欧美 日韩 国产 在线观看| 国产色综合视频| 国内精品久久久久久久影视麻豆| 精品人在线二区三区| 中文字幕1234区| 免费污视频在线| 99国产欧美另类久久久精品| 日韩av电影在线网| av最新在线观看| 凹凸成人精品亚洲精品密奴| 亚洲欧美日韩一区二区在线| 日日干夜夜操s8| 成人软件在线观看| 亚洲视频在线一区| 韩国成人av| 亚洲 小说区 图片区| 亚洲精品国产首次亮相| 亚洲成在人线av| 在线免费观看视频黄| 高潮一区二区| 一区二区三区在线观看国产| 久久av免费观看| 久久久久精彩视频| 日韩中文字幕一区二区三区| 久久亚洲国产成人| 性色av蜜臀av色欲av| 久久精品国产福利| 性做久久久久久免费观看| 日韩在线第一区| 国内精品一区视频| 成人免费视频播放| 国产伊人精品在线| 久久久久久久久久久久久av| 999久久久亚洲| 日韩成人中文电影| 国产男女猛烈无遮挡a片漫画| 国产精品伦一区二区| 欧美日韩中文字幕精品| 久久综合九色综合88i| 黄色av网站在线播放| 亚洲日本成人在线观看| 台湾无码一区二区| 日本在线播放| 久久久久国产精品麻豆| 国产精品我不卡| 天天操天天舔天天干| 久久久噜噜噜久噜久久综合| 图片区小说区区亚洲五月| 天天操天天干天天插| 久久日韩精品一区二区五区| 国产精品日韩欧美一区二区三区 | 日韩在线三区| 欧美jizzhd69巨大| 国产午夜精品一区二区三区嫩草 | 美女呻吟一区| 欧美一区二区三区播放老司机| 国产免费视频传媒| 自拍一区在线观看| 午夜精品久久久久久久99水蜜桃| 国产一区二区三区精彩视频| 欧美亚洲二区| 亚洲成人在线视频播放| 精品手机在线视频| 秋霞影院一区二区三区| 亚洲大胆人体在线| 国产人妻大战黑人20p| 欧美日日夜夜| 中文字幕国产精品久久| 久久亚洲AV无码专区成人国产| 色婷婷亚洲mv天堂mv在影片| 久久久免费高清电视剧观看| 麻豆影视在线播放| 欧美色图麻豆| 欧美激情国内偷拍| 天堂资源在线播放| 亚洲欧美一区在线| 欧美国产日本在线| 日本丰满少妇做爰爽爽| 青青草国产精品亚洲专区无| 国产精品久久久久77777| 国产精华7777777| 成人一道本在线| 中文字幕av日韩精品| 欧洲日本在线| 欧美日韩中文字幕| 亚洲欧美激情一区二区三区| 亚洲高清在线一区| 亚洲成人久久网| 国产色无码精品视频国产| 亚洲天堂一区二区三区四区| 国产成人在线视频| 亚洲天堂网在线视频| 国产一区二区视频在线播放| 91久久国产婷婷一区二区| 国产草草影院ccyycom| 国产宾馆实践打屁股91| 国产在线精品日韩| 黄色毛片在线看| 午夜视黄欧洲亚洲| 久久发布国产伦子伦精品| 日韩伦理视频| 国产精品嫩草视频| 国产视频在线观看免费| 欧美经典一区二区三区| 丁香啪啪综合成人亚洲| 久久夜色电影| 国外成人在线直播| 风流老熟女一区二区三区| 亚洲精品国产无套在线观| 久久撸在线视频| 欧美三级三级| 国产精品久久久精品| av福利精品| 亚洲图片一区二区| 免费黄色特级片| 琪琪久久久久日韩精品| 午夜精品一区二区三区在线视频| 无码人妻黑人中文字幕| 久久久久国产一区二区三区四区| 99精品视频播放| 精品美女视频| 国产精品美女网站| 免费a级人成a大片在线观看| 91精品国产综合久久婷婷香蕉| av在线播放网址| 日韩成人免费| 国产色视频一区| 操你啦在线视频| 欧亚一区二区三区| av不卡中文字幕| 欧美日韩伦理在线免费| 国产精品十八以下禁看| 麻豆网站在线免费观看| 日韩一区二区麻豆国产| 国产aⅴ激情无码久久久无码| 麻豆成人在线| 亚洲图片都市激情| 涩涩视频在线免费看| 欧美一区二区三区在线观看| 在线免费观看亚洲视频| 日韩电影一二三区| 亚洲精品影院| 欧美男女交配| 精品精品国产国产自在线| 中文字幕视频网| 国产免费观看久久| 四虎成人在线播放| 久久资源中文字幕| 97av自拍| 亚洲欧美成人影院| 欧美夫妻性生活| 久久精品三级视频| 手机精品视频在线观看| 国内视频一区二区| 丁香婷婷久久| 一区三区二区视频| 国产特级aaaaaa大片| 精品国产电影一区| 亚洲区一区二区三| www.亚洲色图.com| 国产 日韩 欧美在线| 亚洲视频国产| 欧美激情第一页xxx| 国产特黄在线| 在线视频欧美精品| 全程偷拍露脸中年夫妇| 国产美女一区二区三区| 浮妇高潮喷白浆视频| 国产精品精品| 成人妇女免费播放久久久| 午夜在线视频| 亚洲激情在线视频| 国产精品一级视频| 亚洲色图视频网| 亚洲av综合一区二区| 巨乳诱惑日韩免费av| 日本天堂免费a| 日韩精品水蜜桃| 蜜桃免费一区二区三区| 粉嫩一区二区| 久久久久久成人| 婷婷久久久久久| 日韩一区二区三区视频在线观看| 亚洲乱码国产乱码精品| 亚洲va国产天堂va久久en| 99鲁鲁精品一区二区三区| 久久精品亚洲麻豆av一区二区| 日本一级大毛片a一| 精品一区二区三区在线播放视频| 中文字幕一区二区三区在线乱码| 欧美jizz19性欧美| 超碰97网站| 亚洲精品动漫| 久久久视频在线| 在线中文免费视频| 亚洲国产精品久久久久秋霞不卡| 国产又黄又大又爽| 欧美人妖巨大在线| 中文字幕乱码视频| 亚洲激情一二三区| 日本一级片免费| 国产精品久久久99| 中文视频在线观看| 日日夜夜精品视频免费| 日本a视频在线观看| 亚洲欧洲综合| 国产精品久久..4399| 亚洲激情专区| 欧美色图色综合| 99精品国产在热久久婷婷| 日韩欧美精品在线不卡 | 亚洲第一免费网站| 亚洲精品久久久久久无码色欲四季 | 日本在线视频中文有码| 欧美大奶子在线| 青草青在线视频| 久久久久久69| 亚洲十八**毛片| 日本午夜人人精品| 台湾成人免费视频| 欧美高清第一页| 欧美v亚洲v| 97色在线观看| 日产精品一区| 韩日欧美一区二区| 国产亚洲成av人片在线观看| 视频在线观看99| 污视频软件在线观看| 日韩福利视频在线观看| 国产精品影院在线| 色噜噜狠狠狠综合曰曰曰| 日本在线人成| 欧美激情一区二区三区成人| 超碰在线99| 国产成人综合亚洲| 先锋影音网一区二区| 成人综合色站| 精品福利在线| 91久久爱成人| 日韩av黄色在线| 亚洲欧洲精品在线观看| 自拍偷拍欧美专区| 欧美日韩成人免费视频| 欧美午夜不卡| 久久网站免费视频| 日本不卡一区二区三区高清视频| 999在线精品视频| heyzo一本久久综合| www亚洲色图| 国产清纯在线一区二区www| 99热这里只有精品4| 亚洲最大的成人av| 免费在线视频观看| 欧美视频在线观看 亚洲欧| 亚洲网站免费观看| 亚洲国产一区自拍| 欧美精品videos另类| 高清一区二区三区四区五区| 高清欧美日韩| 国产精品视频一区二区三区经| 不卡一区综合视频| 欧美精品久久久久久久久久久| 秋霞电影网一区二区| 精品少妇人妻av一区二区三区| 欧美激情综合五月色丁香小说| 欧美成人精品激情在线视频| 色哟哟在线观看一区二区三区| 亚洲男人的天堂在线视频| 亚洲成av人片在线观看无码| 亚洲天堂网在线观看视频| 亚洲精品97久久| 国产秀色在线www免费观看| 欧美一级bbbbb性bbbb喷潮片| 123区在线| 午夜精品蜜臀一区二区三区免费| 另类一区二区三区| 你懂的视频在线一区二区| 亚洲国产精品91| 99视频精品免费| 91免费观看在线| 亚洲午夜久久久久久久国产| 亚洲国产va精品久久久不卡综合| 国产精品999久久久| 欧美日韩国产a| 欧美拍拍视频| 中文日韩在线观看| 精精国产xxx在线视频app| 99国内精品久久久久久久软件| 欧美亚洲在线日韩| 欧美成人xxxxx| 成人动漫av在线| 99久久国产精| 亚洲图片欧美视频| 国产麻豆精品一区| 色视频www在线播放国产成人| 亚洲伊人av| 久久精精品视频| av不卡在线看| 97人妻精品一区二区三区免费| 亚洲另类在线一区| 国产精品老女人| 亚洲国产97在线精品一区| 日本aa在线| 99中文字幕| 国产一区二区三区四区老人| 伊人成人免费视频| 99国内精品久久| www.国产成人| 欧美日韩国产片| av影片免费在线观看| 国产精品视频99| 欧美电影一二区| 女人高潮一级片| 亚洲视频在线一区二区| 99久久精品日本一区二区免费 | 制服丝袜亚洲色图| 中国日本在线视频中文字幕| 国产精品一区av| 成人爽a毛片| 翔田千里亚洲一二三区| 蜜桃91丨九色丨蝌蚪91桃色| 理论片大全免费理伦片| 亚洲福利视频一区| 深夜福利在线观看直播| 日韩成人在线视频网站| 手机在线理论片| 日本成人三级| 黄色日韩在线| 日韩精品视频一区二区| 粉嫩av一区二区三区免费野| 国产精品一区二区三区在线免费观看| 久久久影视传媒| 亚洲精品久久区二区三区蜜桃臀| 乱码第一页成人| 久久精品女同亚洲女同13| 色综合一区二区三区| 成人免费在线电影| 色综合久久精品亚洲国产| 在线免费看h| 先锋在线资源一区二区三区| 日韩电影在线一区| 黄色一级片中国| 日韩av一区在线| 韩国成人在线| 欧美激情亚洲天堂| 久久视频一区二区| 国产精品自偷自拍| 91高清视频免费| 成人午夜sm精品久久久久久久| 日韩精品欧美一区二区三区| 国产一区不卡在线| 国产又黄又粗又爽| 久久精品99国产精品酒店日本 | 成人做爰www免费看视频网站| 希岛爱理av一区二区三区| 伦理片一区二区| 欧美日韩一区二区电影| 大黄网站在线观看| 91久久爱成人| 日韩精品一级中文字幕精品视频免费观看 | 一卡二卡在线观看| 91wwwcom在线观看| 亚洲精品va|