<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 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    extremecomponents 初使用

    Posted on 2007-04-24 15:51 G_G 閱讀(1045) 評論(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 >

    {轉}


    關鍵字: ? java,eXtremeComponents????

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

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

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

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

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

    二、編寫類AutoGenerateColumnsImpl實現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供實現,在此方法中通過傳入的TableModel型參數 model可從其Context中獲取到httpRequest中的fieldnames屬性值,然后根據fieldnames列表迭代構造對應 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="查詢結果"??
    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>

    小結******************************************************************************

    <%@?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?="入段&調離"?/>
    ?????????????
    ????????????????
    <ec:column??cell="com.jjm.extremesite.cell.CorpNameCell"?property="段號"/>???//?? (1)?? 標簽的重寫

    ????????????????
    ????????????????
    <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="調離時間"?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());
    ????}


    }


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


    網站導航:
     
    主站蜘蛛池模板: 日本二区免费一片黄2019| 精品熟女少妇aⅴ免费久久| 亚洲AV一二三区成人影片| 亚洲av无码专区在线播放| 永久亚洲成a人片777777| 久久久久久亚洲精品不卡| 亚洲日韩中文字幕日韩在线| 亚洲精品美女久久久久99小说| 亚洲乱亚洲乱妇无码| 亚洲国产激情在线一区| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 中文字幕久无码免费久久| 特级毛片A级毛片免费播放| 青娱乐在线视频免费观看| 亚洲色偷精品一区二区三区| 中文无码亚洲精品字幕| 亚洲av永久中文无码精品综合| 亚洲情XO亚洲色XO无码| 亚洲精品无码久久千人斩| 亚洲不卡av不卡一区二区| 午夜亚洲国产理论秋霞| 亚洲精品不卡视频| 国产亚洲精品自在久久| 久久久久久亚洲精品| 亚洲视频免费播放| 亚洲精品国产精品国自产网站 | 免费又黄又硬又爽大片| 亚洲精品国产福利一二区| 亚洲精品无码鲁网中文电影| 91嫩草私人成人亚洲影院| 久久精品国产亚洲av麻豆蜜芽| 亚洲欧洲无卡二区视頻| 免费中文字幕视频| 国产拍拍拍无码视频免费| 91高清免费国产自产| 性xxxx视频播放免费| 亚洲福利精品一区二区三区| 国产成人精品日本亚洲网站| 亚洲精品无码久久毛片波多野吉衣| 亚洲综合在线一区二区三区| 曰批免费视频播放免费|