<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 165, comments - 198, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    extremecomponents 初使用

    Posted on 2007-04-24 15:51 G_G 閱讀(1044) 評論(0)  編輯  收藏 所屬分類: ReportformJspTag
    <? xml?version="1.0"?encoding="UTF-8" ?>

    <! DOCTYPE?web-app?PUBLIC?"-//Sun?Microsystems,?Inc.//DTD?Web?Application?2.3//EN"?"http://java.sun.com/dtd/web-app_2_3.dtd" >
    < web-app >

    ????
    < taglib >
    ????????
    < taglib-uri > http://www.extremecomponents.org </ taglib-uri >
    ????????
    < taglib-location > /WEB-INF/extremecomponents.tld </ taglib-location >
    ????
    </ taglib >
    ????
    </ web-app >

    <% @?taglib?prefix = " ec " ?uri = " /WEB-INF/extremecomponents.tld " ? %>

    <% @?taglib?prefix = " c " ?uri = " /WEB-INF/c.tld " ? %>

    <% @?page?language = " java " ?import = " java.util.* " ?pageEncoding = " UTF-8 " %>
    <%
    String ?path? = ?request.getContextPath();
    String ?basePath? = ?request.getScheme() + " :// " + request.getServerName() + " : " + request.getServerPort() + path + " / " ;
    %>

    <! DOCTYPE?HTML?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN" >
    < html >
    ??
    < head >
    ????
    < base? href ="<%=basePath%>" >
    ????
    ????
    < title > My?JSP?'MyJsp.jsp'?starting?page </ title >
    ????
    ????
    < meta? http-equiv ="pragma" ?content ="no-cache" >
    ????
    < meta? http-equiv ="cache-control" ?content ="no-cache" >
    ????
    < meta? http-equiv ="expires" ?content ="0" >
    ????
    < meta? http-equiv ="keywords" ?content ="keyword1,keyword2,keyword3" >
    ????
    < meta? http-equiv ="description" ?content ="This?is?my?page" >
    ????
    ????????
    < link? rel ="stylesheet" ?type ="text/css" ?href ="<c:url?value=" /extremecomponents.css" /> ">
    ????
    ??
    </ head >
    ??
    ??
    < body >


    ????????????
    <%
    ????????????????List?goodss?
    = ? new ?ArrayList();
    ????????????????
    for ?( int ?i? = ? 1 ;?i? <= ? 10 ;?i ++ )
    ????????????????{
    ????????????????????Map?goods?
    = ? new ?java.util.HashMap();
    ????????????????????goods.put(
    " code " ,? " A00 " + i);
    ????????????????????goods.put(
    " name " ,? " 面包 " + i);
    ????????????????????goods.put(
    " status " ,? " A:valid " );
    ????????????????????goods.put(
    " born " ,? new ? Date ());
    ????????????????????goodss.add(goods);
    ????????????????}
    ????????????????request.setAttribute(
    " goodss " ,?goodss);
    ????????????
    %>
    ????????????
    ????????????
    < ec:table??
    ????????????
    action ="${pageContext.request.contextPath}/test.jsp"
    ????????????items
    ="goodss"
    ????????????cellpadding
    ="1"
    ????????????title
    ="my?bread" >
    ????????????
    < ec:row ></ ec:row >
    ????????????????
    < ec:column? property ="code" />
    ????????????????
    < ec:column? property ="name" />
    ????????????????
    < ec:column? property ="status" />
    ????????????????
    < ec:column? property ="born" ?cell ="date" ?format ="yyyy-MM-dd" />
    ????????????
    </ ec:table >

    ??
    </ body >
    </ html >

    {轉(zhuǎn)}


    關(guān)鍵字: ? java,eXtremeComponents????

    在我開發(fā)的一個通用查詢項目中想把查詢結(jié)果集的顯示部分采用eXtremeComponents組件來處理,但是碰到個問題,就是組件預(yù)先并不知道查詢結(jié)果的列名,也就是必須解決Column列的動態(tài)顯示問題。

    有一種方法就是通過在jsp頁面里羅列一下,但是總感覺不舒服,查文檔發(fā)現(xiàn)eXtremeComponents有一接口AutoGenerateColumns可實現(xiàn)此功能,以下為具體實現(xiàn)步驟:

    一、在應(yīng)用的servlet(或struts action等)里(如sqlAction.do)實現(xiàn)根據(jù)SQL語句的運行結(jié)果獲取字段名稱列表(fieldnames)和查詢結(jié)果集(results)并將其放入httpRequest的屬性中

    代碼
    1. List?fieldnames?=?實現(xiàn)[獲取字段名稱列表]方法;??
    2. List?results?=?實現(xiàn)[獲取查詢結(jié)果集]方法;??
    3. httpRequest.setAttribute("fieldnames",?fieldnames);??
    4. httpRequest.setAttribute("results",?results);??

    results將作為eXtremeTable組件中屬性items的值,fieldnames將用來迭代構(gòu)造Column對象

    二、編寫類AutoGenerateColumnsImpl實現(xiàn)org.extremecomponents.table.core.AutoGenerateColumns接口

    代碼
    1. package?org.boogie.sql.common.ec;??
    2. ??
    3. import?java.util.Iterator;??
    4. import?java.util.List;??
    5. ??
    6. import?org.extremecomponents.table.bean.Column;??
    7. import?org.extremecomponents.table.core.AutoGenerateColumns;??
    8. import?org.extremecomponents.table.core.TableModel;??
    9. ??
    10. public?class?AutoGenerateColumnsImpl?implements?AutoGenerateColumns?{??
    11. ??
    12. ????public?void?addColumns(TableModel?model)?{??
    13. ????????List?fieldnames?=?(List)?model.getContext().getRequestAttribute(??
    14. ????????????????"fieldnames");??
    15. ????????Iterator?iterator?=?fieldnames.iterator();??
    16. ????????while?(iterator.hasNext())?{??
    17. ????????????String?fieldname?=?(String)?iterator.next();??
    18. ????????????Column?column?=?model.getColumnInstance();??
    19. ????????????column.setProperty(fieldname);??
    20. ????????????//?column.setCell((String)?columnToAdd.get(CELL));??
    21. ????????????model.getColumnHandler().addAutoGenerateColumn(column);??
    22. ????????}??
    23. ????}??
    24. }??

    AutoGenerateColumns接口只有一個方法addColumns供實現(xiàn),在此方法中通過傳入的TableModel型參數(shù) model可從其Context中獲取到httpRequest中的fieldnames屬性值,然后根據(jù)fieldnames列表迭代構(gòu)造對應(yīng) Column后添加到model中

    三、在顯示頁文件的eXtremeTable中,配置TableTag的屬性items值為results,配置ColumnTag的屬性autoGenerateColumns值為類AutoGenerateColumnsImpl的全路徑

    代碼
    1. <ec:table???
    2. ????????items="results"??
    3. ????????var="result"??
    4. ????????action="${pageContext.request.contextPath}/sqlAction.do"??
    5. ????????imagePath="${pageContext.request.contextPath}/images/table/*.gif"??
    6. ????????title="查詢結(jié)果"??
    7. ????????width="100%"??
    8. ????????rowsDisplayed="5"??
    9. ????????>??
    10. ??<ec:parameter?name="method"?value="ec"/>??
    11. ??<ec:row>??
    12. ????<ec:columns?autoGenerateColumns="org.boogie.sql.common.ec.AutoGenerateColumnsImpl"/>??
    13. ??</ec:row>??
    14. </ec:table>

    小結(jié)******************************************************************************

    <%@?page?language="java"?pageEncoding="UTF-8"%>
    <%@?taglib?uri="http://jakarta.apache.org/struts/tags-bean"?prefix="bean"%>?
    <%@?taglib?uri="http://jakarta.apache.org/struts/tags-html"?prefix="html"%>
    <%@?taglib?uri="http://jakarta.apache.org/struts/tags-logic"?prefix="logic"%>
    <%@?taglib?uri="http://www.extremecomponents.org"?prefix="ec"?%>?

    <%@?taglib?uri="http://struts.apache.org/tags-tiles"?prefix="tiles"?%>
    <%@?taglib?uri="http://www.jjm.cn/tags-security"?prefix="jjmtag"%>
    ?

    <html>?
    ????
    <head>
    ????????
    <LINK?href="<%=request.getContextPath()%>/css/extremetable.css"?rel="stylesheet"?type="text/css">
    ????????
    <script?language="JavaScript"?src="<%=request.getContextPath()%>/res_others/calendar/calendar.js?">?</script>???? //時間 的 js 插件

    ????????
    <LINK?rel="StyleSheet"?type="text/css"?href="<%=request.getContextPath()%>/css/jjmStyle.css">??????
    ????
    </head>

    ????
    <body>
    ????
    <CENTER>

    ????
    <TABLE?border="1"?class="borderLessTable"?width=100%>
    ????????
    <html:form?action="/tAT.do">
    ????????????????
    <TR>
    ????????????????????
    <TD?class="tdQueryCaption13">
    ????????????????????????
    <CENTER>?時間范圍:</CENTER>
    ????????????????????
    </TD>
    ????????????????????
    <TD?class="tdQueryCaption13">
    ????????????????????
    <CENTER>
    ????????????????????????
    <html:text?property="time"?size="8"?readonly="true"/>?????????????????????//作為 時間 的 javascript 插件
    ????????????????????????????
    <img?alt="彈出日歷下拉菜單"?height="16"?width="16"?align="middle"?
    ????????????????????????????????????src
    ="<%=request.getContextPath()%>/res_others/calendar/img/cal.gif"?
    ????????????????????????????????????style
    ="cursor:hand;"?
    ????????????????????????????????????onclick
    ="fPopUpCalendarDlg(time);return?false"/>
    ????????????????????
    </CENTER>????????????????????????????
    ????????????????????
    </TD>
    ????????????????????
    <tD>
    ????????????????????????
    <CENTER><html:image?src="/rlzy/images/edit/chaxun.gif"></html:image></CENTER>
    ????????????????????
    </tD>
    ????????????????????
    ????????????
    </html:form>
    ????
    </TABLE>
    ????
    </CENTER>
    ????
    ????????
    <ec:table??
    ????????????????
    items?="list"
    ????????????????imagePath
    ="${pageContext.request.contextPath}/images/ectable/*.gif"
    ????????????????cellpadding?
    ="1">
    ?????????????
    <ec:row></ec:row>
    ?????????????
    ????????????????
    <ec:column???property?="入段&調(diào)離"?/>
    ?????????????
    ????????????????
    <ec:column??cell="com.jjm.extremesite.cell.CorpNameCell"?property="段號"/>???//?? (1)?? 標(biāo)簽的重寫

    ????????????????
    ????????????????
    <ec:column??cell="com.jjm.extremesite.cell.CorpNameCell"?property="車間"?/>
    ?????????????????
    ????????????????
    <ec:column??property="姓名"?/>
    ?????????????????
    ?????????????????
    <ec:column???property="入段時間"?cell="date"?format="yyyy-MM-dd"??/>???//時間 的表示 cell="date"?format="yyyy-MM-dd"??
    ?????????????????
    ????????????????
    <ec:column???property="調(diào)離時間"?cell="date"?format="yyyy-MM-dd"/>
    ?????????????????
    ?????????????
    </ec:table?>

    ????
    </body>
    </html>

    package?com.jjm.extremesite.cell;

    import?org.extremecomponents.table.bean.Column;
    import?org.extremecomponents.table.cell.AbstractCell;
    import?org.extremecomponents.table.core.TableModel;

    import?com.jjm.bj.dao.CorpBean;
    import?com.jjm.bj.dao.CorpDao;

    public?class?CorpNameCell?extends?AbstractCell?{

    ????
    public?void?destroy()?{

    ????}


    ????
    /**
    ?????*?
    @param?args
    ?????
    */

    ????
    public?static?void?main(String[]?args)?{

    ????}

    ????
    ????
    private?String?getCorpName(String?id){
    ????????
    if?(id!=null?&&?id.length()>0){
    ????????????CorpBean?obj?
    =null;
    ????????????obj
    =CorpDao.findByID(id);
    ????????????
    if?(obj!=null){
    ????????????????
    return?obj.getCorpName();
    ????????????}
    ????????????
    ????????}
    ????
    ????????
    return?"";
    ????}


    ????
    protected?String?getCellValue(TableModel?tableModel,?Column?column)?{
    ????????CorpNameCell?corpName
    =new?CorpNameCell();
    ????????
    return?corpName.getCorpName(column.getValueAsString());
    ????}


    }


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 最近免费中文在线视频| av网站免费线看| 美女裸身网站免费看免费网站| 亚洲国产精品福利片在线观看| 久草免费福利在线| 亚洲一区二区三区国产精品| 黄页网站在线免费观看| 午夜国产大片免费观看| 免费一区二区三区在线视频| 亚洲精品视频在线看| ww在线观视频免费观看w| 亚洲国产精品人人做人人爽| 一级中文字幕免费乱码专区 | 亚洲精品日韩专区silk| 4虎1515hh永久免费| 亚洲伦理一二三四| 免费看美女让人桶尿口| 真人无码作爱免费视频| 亚洲第一区精品日韩在线播放| 国产高潮流白浆喷水免费A片 | 亚洲色婷婷一区二区三区| 免费国产黄网站在线观看视频| 亚洲精品熟女国产| 狼友av永久网站免费观看| av电影在线免费看| 亚洲日本在线看片| 女性自慰aⅴ片高清免费| 特级毛片A级毛片100免费播放| 亚洲午夜久久久久久久久久| 最近免费中文字幕大全高清大全1 最近免费中文字幕mv在线电影 | 一级毛片在线免费视频| 国产亚洲免费的视频看| 免费成人激情视频| 深夜特黄a级毛片免费播放| 亚洲级αV无码毛片久久精品| **一级一级毛片免费观看| 亚洲成a人无码亚洲成av无码| 亚洲精品乱码久久久久久按摩 | 亚洲国产综合人成综合网站| 无码午夜成人1000部免费视频| 亚洲欧美中文日韩视频|