lfnxd

          2008年8月11日

               摘要: 當(dāng)前作為AJAX的開(kāi)發(fā)中可以選擇的JS UI腳本庫(kù)還是不少,但是Ext 2.0是中立的,開(kāi)發(fā)簡(jiǎn)易的,界面和交互性更加強(qiáng)大友好的庫(kù),他不必要求和任何MVC結(jié)合,純正的js前端腳本,不是java2js,也不是用xml語(yǔ)法描述界面,個(gè)人覺(jué)得更加適合引入項(xiàng)目來(lái)增加界面的友好性和交互體驗(yàn),而且簡(jiǎn)化JS前端的編碼。 Ext 2.0的DEMO體驗(yàn)網(wǎng)址:  http://extjs.com/...  閱讀全文
          posted @ 2008-08-11 15:48 云和山的彼端 閱讀(1337) | 評(píng)論 (0)編輯 收藏

          2008年8月7日

          需求
                  在客戶的B/S應(yīng)用系統(tǒng)中使用電子地圖。該系統(tǒng)只可運(yùn)行于內(nèi)部網(wǎng)中。

          分析
                  由于系統(tǒng)中的電子地圖只能運(yùn)行于局域網(wǎng)中所以不能采用google地圖等。而且客戶項(xiàng)目不大,所以不能購(gòu)買(mǎi)收費(fèi)的gis服務(wù)器。

          設(shè)計(jì)及架構(gòu)
                  gis服務(wù)器采用開(kāi)源的geoserver+tomcat。
                  地圖數(shù)據(jù)可以從國(guó)家基礎(chǔ)地理信息系統(tǒng)http://nfgis.nsdi.gov.cn/nfgis/chinese/c_xz.htm下載。
                  數(shù)據(jù)庫(kù)采用postgresql8.3。
                  頁(yè)面技術(shù)采用OpenLayers。
                 

          實(shí)施
                 1、安裝postgresql數(shù)據(jù)庫(kù),可以安裝時(shí)選擇安裝postgis組件。也可在安裝完的基礎(chǔ)山再安裝postgis。
                 2、創(chuàng)建gis數(shù)據(jù)庫(kù),新建數(shù)據(jù)庫(kù)時(shí)選擇模板為template_postgis。
                 3、下載縣級(jí)數(shù)據(jù)bount500.e00。
                 4、用工具將bount500.e00轉(zhuǎn)換為shp格式。
                 5、下載開(kāi)源工具FWTools2.2,執(zhí)行命令ogr2ogr -f "PostgreSQL" PG:"host=localhost dbname=數(shù)據(jù)庫(kù)名稱(chēng) user=用戶名 password=密碼"  shp文件路徑 -append -update,將數(shù)據(jù)導(dǎo)入postgis數(shù)據(jù)庫(kù)中。
                 6、下載tomcat5.5和geoserver,將geoserver.war部署到tomcat中,啟動(dòng)應(yīng)用服務(wù)器。
                 7、登錄geoserver應(yīng)用,配置地圖服務(wù)端,參考geoserver在線幫助。
                 8、下載OpenLayers,在javascript中包含OpenLayers.js。參考o(jì)penlayers的例子編寫(xiě)客戶端腳本。
                  這樣一個(gè)簡(jiǎn)單的電子地圖系統(tǒng)就完成了。
          posted @ 2008-08-07 11:27 云和山的彼端 閱讀(4925) | 評(píng)論 (1)編輯 收藏
               摘要:        很多架構(gòu)師都是從好的開(kāi)發(fā)人員逐步過(guò)渡而來(lái)的,但并非每個(gè)好的開(kāi)發(fā)人員都希望成為架構(gòu)師,而且他們并不是都適合做架構(gòu)師。無(wú)論您是打算進(jìn)行職業(yè)轉(zhuǎn)型的開(kāi)發(fā)人員,還是尋找能承擔(dān)體系結(jié)構(gòu)設(shè)計(jì)責(zé)任的合適人選的經(jīng)理,都務(wù)必對(duì)此轉(zhuǎn)型過(guò)程有個(gè)清楚的了解。本文將討論從實(shí)現(xiàn)專(zhuān)家到架構(gòu)師的過(guò)渡過(guò)程。   在尋找優(yōu)秀的指揮的時(shí)候,您首先要找的是一名優(yōu)秀...  閱讀全文
          posted @ 2008-08-07 10:54 云和山的彼端 閱讀(829) | 評(píng)論 (0)編輯 收藏

              tomahawk與trinidad提供了豐富的控件,但是當(dāng)默認(rèn)呈現(xiàn)器設(shè)置成org.apache.myfaces.trinidad.core時(shí),tomahawk中的dataScroll不能正常工作。如果不設(shè)置默認(rèn)呈現(xiàn)器,trinidad又不能工作,所以這是個(gè)矛盾,需要跟蹤代碼,使這兩個(gè)優(yōu)秀的開(kāi)源JSF控件集能很好的共存。

              解決方法:在eclipse中導(dǎo)入trinidad-1.0.2的源碼,修改包org.apache.myfaces.trinidadinternal.renderkit.htmlBasic中的HtmlCommandLinkRenderer.java。

          public class HtmlCommandLinkRenderer extends Renderer
          {

            ...
            private Renderer renderer = null;   //增加呈現(xiàn)器接口成員變量

            ....
            //增加encodeBegin函數(shù)

            @SuppressWarnings("unchecked")
            @Override
            public void encodeBegin(FacesContext context,
                               UIComponent component) throws IOException
            {
              // The tr:commandLink is not a rendersChildren component,
              // but h:commandLink is.  Hence, the difference in behavior
              renderer = createRenderer(component);
              renderer.encodeBegin(context, component);

              for(UIComponent child : (List<UIComponent>)component.getChildren())
              {
                RenderUtils.encodeRecursive(context, child);
              }
            }

            ...
           

            //修改encodeEnd函數(shù)為當(dāng)前代碼
            @SuppressWarnings("unchecked")
            @Override
            public void encodeEnd(FacesContext context,
                               UIComponent component) throws IOException
            {
              // The tr:commandLink is not a rendersChildren component,
              // but h:commandLink is.  Hence, the difference in behavior
              if(renderer==null)
              {
               renderer = createRenderer(component);
               renderer.encodeBegin(context, component);
           
               for(UIComponent child : (List<UIComponent>)component.getChildren())
               {
                 RenderUtils.encodeRecursive(context, child);
               }
              }
              renderer.encodeEnd(context, component);
            }

            ...
          }

           
          posted @ 2008-08-07 10:48 云和山的彼端 閱讀(372) | 評(píng)論 (0)編輯 收藏
          僅列出標(biāo)題  

          導(dǎo)航

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          統(tǒng)計(jì)

          常用鏈接

          留言簿(4)

          我參與的團(tuán)隊(duì)

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 四川省| 红河县| 鄂尔多斯市| 胶南市| 洪江市| 安平县| 基隆市| 宜春市| 威海市| 来宾市| 天津市| 曲阳县| 信阳市| 桐梓县| 漯河市| 茂名市| 霍山县| 晋江市| 佳木斯市| 巴林左旗| 金山区| 大宁县| 夏河县| 长寿区| 阳山县| 涞源县| 普宁市| 盐山县| 彭州市| 临西县| 开阳县| 衢州市| 洛扎县| 襄汾县| 琼结县| 丰台区| 尚义县| 汤原县| 绥中县| 罗源县| 繁昌县|