dwz:資料庫到JSP的資料轉換

來源:互聯網
上載者:User

標籤:dwz   前後台   資料轉換   

前言:經常有這樣的情況,從資料庫中擷取的資料格式並不是我們想在JSP頁面上展示的,我推薦給大家以下三種方式。

資料庫sql直接轉換

有一些資料,我們可以直接通過sql直接轉換,不過一般處理格式比較單一的內容。

convert(case m.stauts when 1 then ‘啟用‘ when 2 then ‘停收新單‘ when 3 then ‘停用賬戶‘ end,char) stauts

這種形式不善於處理格式比較複雜的類型,不過便捷一次到位。

利用JSTL

JSTL的格式處理也相當不錯,這裡推薦一篇文章JSTL標籤 參考手冊

<fmt:formatNumber value="${item.order_price}" pattern="#,##0.00#"/>

這種形式需要前後台資料遵循jstl的標籤格式。

控制端進行轉換

這種方式主要是利用controller對擷取的資料進行轉換,替換為前端需要的格式,然後供最上層顯示,這裡我詳細說一下。

先看看後台資料:

id uid username ip logintime logoutime
1 1 00010001 127.0.0.1 1434679452651 1435021823460


然後我們通過sql語句進行擷取未經處理資料

<select id="getMemLoginfoList" resultType="hashmap" parameterType="map">select m2.uid,        convert(m2.username,char) username,        m2.ip ip,        m2.logintime logintime,        m2.logoutime logoutime,        (m2.logoutime-m2.logintime) onlinetime        from loginfo</select>


然後我們通過controller進行轉換

List<HashMap> memloginfolist = this.memLoginfoMapper.getMemLoginfoList(vo, vo.createRowBounds());            for (HashMap map : memloginfolist) {                String logintime = DateUtil.formatTimeMillis(map.get("logintime").toString());                String logoutime = DateUtil.formatTimeMillis(map.get("logoutime").toString());                String onlinetime = DateUtil.formatTimeInterval(map.get("onlinetime").toString());                map.put("logintime", logintime);                map.put("logoutime", logoutime);                map.put("onlinetime", onlinetime);            }
public static String formatTimeInterval(String time) {        long timeInterval = Long.parseLong(time);        long day = 0;        long hour = 0;        long min = 0;        long sec = 0;        day = timeInterval / (24 * 60 * 60 * 1000);        hour = (timeInterval / (60 * 60 * 1000) - day * 24);        min = ((timeInterval / (60 * 1000)) - day * 24 * 60 - hour * 60);        sec = (timeInterval / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);        StringBuilder result = new StringBuilder();        if (day > 0) {            result.append(day);            result.append("天");        }        if (hour > 0) {            result.append(hour);            result.append("時");        }        if (min > 0) {            result.append(min);            result.append("分");        }        if (sec > 0) {            result.append(sec);            result.append("秒");        }        return result.toString();    }


最上層顯示為


這種形式處理起來比較隨意。

總結:之前我一直想寫一個自訂的jstl標籤,但是用起來更麻煩,所以就推薦上面這三種方式給大家。

dwz:資料庫到JSP的資料轉換

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.