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

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

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

    談笑有鴻儒,往來無白丁

    在恰當的時間、地點以恰當的方式表達給恰當的人...  閱讀的時候請注意分類,佛曰我日里面是談笑文章,其他是各個分類的文章,積極的熱情投入到寫博的隊伍中來,支持blogjava做大做強!向dudu站長致敬>> > 我的微博敬請收聽

    1、需要字典的時候;

           <tr>
             
    <td>請選擇公文狀態:</td>
             
    <td>
                
    <tiles:insert definition="mainLayout" flush="true">   
                    
    <tiles:put name="dictionary" value="docstate"/>
                    
    <tiles:put name="value" value="114d389ec53[ab1ff2]-7ff4"/>                                
                    
    <tiles:put name="id" value="115ff81cf78[f5c8fb]-8000"/>                                
       
    </tiles:insert>
             
    </td>
           
    </tr>   

    其中value表示是一個默認值
    如果是在編輯的時候顯示的值通過ID來指定。

    2、設計步驟
       首先配置struts-config.xml
       

      <plug-in className="org.apache.struts.tiles.TilesPlugin" >
        
    <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" />
        
    <!-- Set Module-awareness to true -->
        
    <set-property property="moduleAware" value="true" />
      
    </plug-in>  

     第二:/WEB-INF/tiles-defs.xml
     

        <definition name="mainLayout" path="/part/defaultTemplate.jsp"> 
        
    </definition> 

    第三:定義模板

     

    <%
    DictionaryFactory.setDictionaryByName(dictionary, request);
    %>
    <logic:present name="${dictionary}">
        
    <select name="${dictionary}" size="1">
            
    <logic:iterate id="dobj" name="${dictionary}"
                type
    ="com.chinantn.library.dictionary.DicBean">
                
    <option value="<bean:write name='dobj' property='id'/>"
                    <logic:equal name
    ='dobj' property='id' value='${id}' >selected</logic:equal>
                    
    <logic:equal name='dobj' property='id'  value='${value}'>selected</logic:equal>>
                    
    <bean:write name="dobj" property="name" />
            
    </logic:iterate>
        
    </select>
    </logic:present>

    第四:讀取字典的配置文件

        <province>
            
    <id>id</id>
            
    <name>province</name> 
            
    <sql>select id,name from tb_dic_main</sql>
        
    </province>

    第五:解析xml文件根據傳入的想要使用的字典類型得到數據;

        //得到select option id    
        private static String sid =null;
        
    //得到select option name    
        private static String sname =null;
        
    //生成數據的ssql    
        private static String ssql =null;
        
        
    private static String dicName;

        
    /**
         * 
    @return dicName
         
    */

        
    public static String getDicName() {
            
    return dicName;
        }


        
    /**
         * 
    @param dicName 要設置的 dicName
         
    */

        
    public static void setDicName(String dicName) {
            DictionaryFactory.dicName 
    = dicName;
        }


        
    /**
         * 默認的構造函數
         *
         
    */

        
    public DictionaryFactory() {
             
    super();
        }


        
    /**
         * 根據配置文件進行初始化
         * 
         * 
    @param configFilename
         
    */

        
    public DictionaryFactory(String sConfigFileName) {
            
    this.sConfigFileName = sConfigFileName;
        }

        
        
    /**
         * 根據字典的類型得到需要設置的字典
         * 
    @param sDicType
         
    */

        
    public static void setDictionaryByName(String dicName,HttpServletRequest request) throws Exception, SQLException{
            
    //取得需要的參數
            init(dicName);        
            Connection conn 
    = DBConnection.getConnection();
            Statement stmt 
    = conn.createStatement();
            log.info(
    "ssql:"+ssql);
            ResultSet rset 
    = stmt.executeQuery(ssql);
            List list 
    = new ArrayList();
            
    while (rset.next()) {
                log.info(rset.getString(
    1+ " " + rset.getString(2));
                DicBean db 
    = new DicBean();
                db.setId(rset.getString(
    1));
                   db.setName(rset.getString(
    2));
                list.add(db);               
                }

            log.info(sname
    +"----"+list.size());
            request.setAttribute(sname, list);
            
    if (conn != null{
                
    try {
                    conn.close();
                }
     catch (Exception e) {
                    e.printStackTrace();
                }

            }

        }


        
    /**
         * 初始化數據字典的配置信息
         
    */
     
        
    private static void init(String dicName) {
            
            ClassPathResource classpath 
    = new ClassPathResource(sConfigFileName);
            
    //讀取xml配置文件的信息,初始化數組
            try {
                
    //獲得一個xml的解析器
                DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
                
    //解析XML文件生成DOM文檔的接口類,以便訪問DOM
                DocumentBuilder builder = factory.newDocumentBuilder();
                
    //Document接口描述了對于整個XML文件的文檔樹
                Document document = builder.parse(classpath.getFile());
                
    //獲得根元素的子節點列表
                Element element = document.getDocumentElement();
                
    //得到需要的字典
                NodeList nodelist =element.getElementsByTagName(dicName);
                
    for(int i=0 ;i<nodelist.getLength();i++{
                    Element rootelement 
    = (Element)nodelist.item(i);
                    
    //獲得ID屬性 
                    NodeList idList = rootelement.getElementsByTagName("id");
                    
    //獲得ID元素
                    Element idElement = (Element)idList.item(0);
                    
    //獲得id元素的第一個值 
                    String id = idElement.getFirstChild().getNodeValue();
                    
    //獲得name元素名稱 
                    NodeList nameList = rootelement.getElementsByTagName("name"); 
                    
    //獲得name元素 
                    Element nameElement = (Element)nameList.item(0); 
                    
    //獲得name元素的第一個值 
                    String name = nameElement.getFirstChild().getNodeValue();
                    
    //獲得sql元素名稱 
                    NodeList sqlList = rootelement.getElementsByTagName("sql"); 
                    
    //獲得sql元素 
                    Element sqlElement = (Element)sqlList.item(0); 
                    
    //獲得sql元素的第一個值 
                    String sql = sqlElement.getFirstChild().getNodeValue();
                    sid 
    = id;
                    sname 
    = name;
                    
    //
                    ssql = sql +" where dictype='"+name+"'" ;
                    log.info(
    "id="+id+";name="+name+";sql="+sql);
                    
                }

            }
    catch(Exception e) {
                e.printStackTrace();
            }

        }

     

    第六:設計jsp
    返回第一步:就是這樣用。
    大概就是這么個流程了。并且可以實現把數據字典統一一個模塊維護!

     

     

     

    posted on 2007-11-03 10:33 壞男孩 閱讀(6871) 評論(5)  編輯  收藏 所屬分類: 生活隨筆

    FeedBack:
    # re: 如何設計一個公共的數據字典維護模塊
    2007-11-03 10:49 | 壞男孩
    # re: 如何設計一個公共的數據字典維護模塊
    2007-11-03 11:25 | 5D壁紙
    貌似不錯,頂一個,但是不知道博主要說什么,呵呵

    5D壁紙,http://5d6p.5d6d.com 歡迎來到國內最好的壁紙論壇  回復  更多評論
      
    # re: 如何設計表中的簡單函數
    2008-04-15 09:04 | 周愛榮
    我嘗試建立了一個合同數據庫,它包括了銷售合同,采購合同,以及收、發貨和收、付款。都是圍繞配件(即產品)來連接的。但是我還要建立一個庫存的表格,怎樣可以只能得使用到庫存而不用手動輸入。


    另外,我可以在窗體中使用函數(簡單的加減乘除),但是為什么表不可以一起應用呢?  回復  更多評論
      
    # re: 如何設計一個公共的數據字典維護模塊
    2009-02-17 11:05 | 過路人
    我想用Java寫個字典維護的程序,看完你上邊的那些說實話有點暈。能不能給我更多的指導。可以的話聯系我: hehaiquan@hotmail.com  回復  更多評論
      
    # re: 如何設計一個公共的數據字典維護模塊
    2012-05-14 15:46 | 冬顏008
    vmcxk kfgml;o   回復  更多評論
      
    主站蜘蛛池模板: 国产在线观看免费完整版中文版| 99视频免费观看| 亚洲欧洲日产国产最新| 国产自国产自愉自愉免费24区| 亚洲午夜爱爱香蕉片| 久久免费国产精品| 亚洲AV无码不卡无码| 九九精品国产亚洲AV日韩| 国产美女精品视频免费观看| 亚洲av日韩综合一区二区三区| 午夜成年女人毛片免费观看| 成人男女网18免费视频| 亚洲精品乱码久久久久久V| 国产成人精品免费直播| 一级毛片在线免费播放| 亚洲国产成人精品无码区在线观看 | 亚洲毛片不卡av在线播放一区| h视频免费高清在线观看| 亚洲高清国产拍精品26U| 114级毛片免费观看| 亚洲视频一区二区三区四区| 免费无码又爽又刺激高潮的视频 | 亚洲AV无码一区东京热久久 | 99国产精品视频免费观看| 亚洲国产成人久久99精品| 免费国产污网站在线观看| 老司机亚洲精品影院| 中国精品一级毛片免费播放| 四虎永久免费网站免费观看| 国产精品美女久久久免费 | 91情侣在线精品国产免费| 老司机免费午夜精品视频| 性xxxx视频播放免费| 日韩在线观看免费| 久久国产精品亚洲一区二区| 日韩欧美一区二区三区免费观看| 一级A毛片免费观看久久精品| 亚洲AV日韩精品久久久久久久 | 在线免费观看毛片网站| 97在线视频免费公开视频| 亚洲精品无码永久在线观看你懂的|