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

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

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

    風(fēng)人園

    弱水三千,只取一瓢,便能解渴;佛法無(wú)邊,奉行一法,便能得益。
    隨筆 - 99, 文章 - 181, 評(píng)論 - 56, 引用 - 0
    數(shù)據(jù)加載中……

    ECApp -- 之系統(tǒng)初始化

    在java web項(xiàng)目中,最常用的就是使用listener來(lái)實(shí)現(xiàn)初始化了。

    下面是實(shí)現(xiàn)代碼
     1 public class StartupListener extends ContextLoaderListener implements
     2         ServletContextListener {
     3 
     4     private Logger logger = LoggerFactory.getLogger(getClass());
     5     
     6     /**
     7      * web容器啟動(dòng)時(shí)調(diào)用
     8      */
     9     public void contextInitialized(ServletContextEvent event) {
    10         logger.info("application servlet initialized");
    11 
    12         ServletContext context = event.getServletContext();
    13         
    14         //從spring中獲得bean,由這個(gè)bean進(jìn)行相應(yīng)操作,結(jié)果存到context中
    15         ApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(context);
    16         ProductClassManager productClassManager = (ProductClassManager)ctx.getBean("productClassManager");
    17         
    18         String prodClassTreeJson = productClassManager.generateProdClassTree();
    19         
    20         context.setAttribute(Constants.PRODUCT_CLASS_JSON_STRING, prodClassTreeJson);
    21     }
    22     
    23     
    24     /**
    25      * web容器銷毀時(shí)調(diào)用
    26      */
    27     public void contextDestroyed(ServletContextEvent event){
    28         logger.info("application servlet destroyed");
    29     }
    30 
    31 }
            這里面還調(diào)用 了spring的bean,所以listener要配置在spring的那個(gè)listener下面,否則可能出錯(cuò)。

    這樣我們就可以在系統(tǒng)啟動(dòng)的時(shí)候?qū)⒁恍┏S玫臄?shù)據(jù)及配置信息都放到內(nèi)存(即serlvetContext里面),在struts2中,我們可以通過(guò)這種方式獲得
    ServletContext context = ServletActionContext.getServletContext();
    然后就可以使用存放在context里面的數(shù)據(jù)了。
    就這么簡(jiǎn)單。

    posted @ 2009-08-06 15:40 風(fēng)人園 閱讀(261) | 評(píng)論 (0)編輯 收藏

    ECApp--ext應(yīng)用之我見(jiàn)

            以前做項(xiàng)目的時(shí)候也使用過(guò)一段時(shí)間的ext,但是總體來(lái)說(shuō),在使用的過(guò)程中有蠻多不習(xí)慣的地方,后來(lái)除了幾個(gè)布局界面使用ext之外,其他的全部又替換為html了。
            這次項(xiàng)目,再次使用ext又有了新的感覺(jué),總的來(lái)說(shuō),ext還是非常的好(這個(gè)是廢話)。css風(fēng)格是我比較喜歡的那種,非常的耐看,不會(huì)看厭。各種組件豐富,只要你能用的起來(lái),還是非常好的,一個(gè)應(yīng)用下來(lái),整體操作非常的爽。
            有一個(gè)不爽的地方就是在編寫的時(shí)候 ,多一個(gè)少一個(gè)逗號(hào)就玩完,這個(gè)比較郁悶,但是注意一下就好了。
            下面暫時(shí)show一下程序的主體頁(yè)面,只能說(shuō)基本完成,還沒(méi)有完全弄好。
            今天把頁(yè)面及tree給弄好,明天把中間的grid及相關(guān)的幾個(gè)編輯form弄完,在完善一下相應(yīng)的按鈕操作,就完工了,哈哈。拿出去給人看都是眼前一亮。good,繼續(xù)努力ing

    posted @ 2009-08-06 15:02 風(fēng)人園 閱讀(185) | 評(píng)論 (0)編輯 收藏

    ECApp--產(chǎn)品主數(shù)據(jù)管理界面及產(chǎn)品選擇方案構(gòu)思



    1、管理界面
            對(duì)于一個(gè)ERP系統(tǒng)來(lái)講,產(chǎn)品數(shù)據(jù)是最重要的,而且也是操作比較頻繁的。所以界面一定要要友好。
    在c/s中,一般是這樣處理的,左邊樹(shù)形結(jié)構(gòu)顯示分類,右邊產(chǎn)品數(shù)據(jù),提供查詢定位功能。
    所以在這個(gè)系統(tǒng)里,我也想使用類似的界面,這樣直觀且方便。

            在這個(gè)界面上,提供對(duì)產(chǎn)品類別 & 產(chǎn)品數(shù)據(jù)的操作。
            在樹(shù)形結(jié)構(gòu)上操作產(chǎn)品類別,操作有:新增類型,新增子類型。
            產(chǎn)品數(shù)據(jù):新增(需要先選擇類別)、刪除、修改、查找、定位等。

    2、產(chǎn)品選擇
            在整個(gè)系統(tǒng)中,產(chǎn)品選擇使用是最為廣泛和頻繁的,所以一定要提供多種選擇操作,滿足用戶的操作需要,方便用戶產(chǎn)品需要的產(chǎn)品。
        1)、彈出式選擇對(duì)話框
        2)、下拉式(自動(dòng)匹配建議)
        3)、多選輸入(減少操作次數(shù),這個(gè)很重要)

    上面這些看能否用ext實(shí)現(xiàn)。
    本來(lái)想使用jquery.treeview來(lái)做,但是好像有點(diǎn)問(wèn)題??磥?lái)只能用ext的東東來(lái)做tree了。
    那個(gè)自動(dòng)匹配的下拉菜單,估計(jì)要自己來(lái)手工打造了,已經(jīng)找到了類似的源代碼,自己做吧。
    哦:)

    posted @ 2009-08-05 15:22 風(fēng)人園 閱讀(285) | 評(píng)論 (0)編輯 收藏

    java中文注釋在eclipse中顯示亂碼的問(wèn)題

    這個(gè)問(wèn)題困擾已久,一直沒(méi)有空查,今天終于查了一下,呵呵,總算看見(jiàn)那個(gè)久違的漢字了,高興啊。

    原文請(qǐng)看這個(gè)論壇帖子 : http://www.javaeye.com/topic/100391

    解決方案:
    Preferences General > Workspace 修改Text file encoding
    為UTF-8后才行。這個(gè)問(wèn)題一直琢磨了好久,今天下了決心想看看,最后還是查了eclipse的幫助才解決。

    當(dāng)當(dāng)修改project 為UTF-8是不行的。


    就這么回事,我一直改項(xiàng)目的那個(gè),怪不得。

    posted @ 2009-08-05 15:07 風(fēng)人園 閱讀(2438) | 評(píng)論 (0)編輯 收藏

    ECApp 項(xiàng)目說(shuō)明

    在此記錄開(kāi)過(guò)過(guò)程及問(wèn)題處理,便于瀏覽查詢。
    ECApp是一個(gè)web版的進(jìn)銷存系統(tǒng)
    模塊有系統(tǒng)模塊,基礎(chǔ)模塊,采購(gòu)管理,銷售管理,倉(cāng)庫(kù)管理,應(yīng)收應(yīng)付等。

    在web版的基礎(chǔ)上,計(jì)劃再開(kāi)發(fā)一個(gè)RCP版本的。web的主要用于查詢分析。RCP用于數(shù)據(jù)操作。

    這樣B/S,C/S的特點(diǎn)都能發(fā)揮出來(lái)。


    在公司工作也不是很累,有很多時(shí)間做開(kāi)發(fā),給自己點(diǎn)事情做作,免得人都荒廢了。這樣人累點(diǎn),但是充實(shí),給人的精神感覺(jué)也好。讓人有個(gè)希望,有個(gè)目標(biāo)。

    現(xiàn)在在完成基礎(chǔ)模塊的東西,整體架構(gòu)

    Struts2 + spring + hibernate + ibatis

    數(shù)據(jù)庫(kù)任意,現(xiàn)為sql server 2005

    爭(zhēng)取以后改為ERP,有機(jī)會(huì)的話,可以拿出去賣賣,哈哈

    給自己一個(gè)目標(biāo),年底前完成,加油吧,兄弟。

    posted @ 2009-08-04 16:39 風(fēng)人園 閱讀(250) | 評(píng)論 (0)編輯 收藏

    struts2 表單屬性映射的問(wèn)題

    最近使用的過(guò)程中,有點(diǎn)搞不懂,表單域跟屬性到底是怎么個(gè)關(guān)系,因?yàn)橛袝r(shí)候可以,有時(shí)候又不行。有點(diǎn)小郁悶。

    使用新東西的時(shí)候或多或少會(huì)出現(xiàn)這樣那樣的問(wèn)題,這導(dǎo)致很多人不愿意更換原來(lái)的框架,一換又要學(xué)一個(gè)大堆東西,處理一大堆異常。但是我們這些做開(kāi)發(fā)的,不學(xué)習(xí)使用新的 東西,就會(huì)被淘汰。這個(gè)行業(yè)的悲哀啊,當(dāng)初也不知道怎么選擇了這個(gè)行業(yè)。

    以上是題外話。

    表單映射,在2里面有兩種方式,一個(gè)事modelDriver,直接映射到model里面。
    另一種方式就是通過(guò)屬性來(lái)影射,通過(guò)getter和setter方法來(lái)獲取和設(shè)置值。

    現(xiàn)在出現(xiàn)問(wèn)題的在第二種情況,設(shè)值后,傳到頁(yè)面,頁(yè)面沒(méi)有得到值,這個(gè)不知道什么緣故,感覺(jué)有可能是頁(yè)面轉(zhuǎn)發(fā)的問(wèn)題。這個(gè)還要好好看看資料研究一下。

    :)

    //==========================================================================
    2009-11-17
    好久以前的問(wèn)題了,今天終于有了答案,原來(lái)都是ValueStack惹的。其實(shí)也怪自己,一直沒(méi)有空把struts2的原理好好的看看,還以為跟以前的東西一樣呢。

    問(wèn)題是這樣的,在action里定義了屬性之后,數(shù)據(jù)都是存在ValueStack里面的。如果你直接使用tag取的話就沒(méi)有問(wèn)題。但是你想通過(guò)java代碼,用request取的話,這樣是取不出來(lái)的。

    今天終于發(fā)現(xiàn)了這個(gè)問(wèn)題的原因。
    這些屬性可以通過(guò)request取,但是首先要去的ValueStack,然后從ValueStack里面把這個(gè)值取出來(lái)。
    如:
    ValueStack vs = request.getAttribute(struts.valueStack);
    然后根據(jù)屬性名稱,從vs中獲取這個(gè)對(duì)象值。
    vs.find("value");

    這樣就可以把數(shù)據(jù)取出來(lái)通過(guò)java代碼來(lái)操作了。否則只能使用struts2自帶的tag來(lái)運(yùn)行。

    這個(gè)是今天的一大收獲。

    posted @ 2009-08-04 15:52 風(fēng)人園 閱讀(1103) | 評(píng)論 (0)編輯 收藏

    jquery.treeview

    今天用到tree,試了下jqeury的這個(gè)插件,結(jié)果發(fā)現(xiàn)一個(gè)問(wèn)題。
    效果是出來(lái)了,可是沒(méi)有單擊事件,這讓我們?cè)趺从冒 U媸羌{悶死了,看文檔也沒(méi)有這個(gè)說(shuō)明,看demo里面也沒(méi)有這個(gè)例子。

    好像其他的官方插件也或多或少有這樣那樣的問(wèn)題,看來(lái)官方的插件還需要努力更新啊。

    難道我要自己動(dòng)手完成這個(gè)東東了?

    js一直是我的軟肋,郁悶死。

    現(xiàn)在碰到復(fù)雜一點(diǎn)的js,根本沒(méi)轍。特別是現(xiàn)在oo版本的js,基本上屬于看不懂,看來(lái)我需要研究一下了。

    posted @ 2009-08-04 13:47 風(fēng)人園 閱讀(703) | 評(píng)論 (0)編輯 收藏

    hibernate annotion 注解放在屬性上或者方法上

    兩種方式都是可以,但是看人家的代碼,習(xí)慣將注解放于方法上,不知道有沒(méi)有什么好的地方?

    現(xiàn)在唯一發(fā)現(xiàn)的區(qū)別就是,@Transient非持久化域的不同。
    放在方法上,只需要標(biāo)記那個(gè)getter方法即可,可以沒(méi)有對(duì)應(yīng)屬性。

    如果放在屬性上,需要生成getter 和setter方法


    在實(shí)體對(duì)象中,可能存在很多非持久化方法,這種情況下
    注解置于屬性上,功能性get方法,可以沒(méi)有對(duì)應(yīng)屬性。
    注解至于方法上,直接使用@Transient。

    兩者基本上都一樣。
    只是在使用的時(shí)候不能混合使用。

    posted @ 2009-08-04 09:54 風(fēng)人園 閱讀(1529) | 評(píng)論 (0)編輯 收藏

    Hibernate annotion配置

    在這里,記錄一下annotion在實(shí)際使用過(guò)程中一些常用的配置。

    1、一對(duì)多
    2、一對(duì)一

    常見(jiàn)異常及處理
    1、Could not determine type for: java.util.Set
    說(shuō)不能找到這個(gè)類型,無(wú)法創(chuàng)建列
    原因:annotion不能同時(shí)放在屬性和方法上,要么都放在屬性上,或者都放在方法上

    posted @ 2009-08-04 08:52 風(fēng)人園 閱讀(441) | 評(píng)論 (0)編輯 收藏

    OperaMasks學(xué)習(xí)系列(三) 數(shù)據(jù)驗(yàn)證(原創(chuàng))

    1、簡(jiǎn)單驗(yàn)證
       
    • @Required. 聲明一個(gè)域或Bean屬性必須具有輸入值。

    • @ValidateDoubleRange. 檢驗(yàn)一個(gè)浮點(diǎn)數(shù)取值是否在指定范圍中。

    • @ValidateLongRange. 檢驗(yàn)一個(gè)整型數(shù)取值是否在指定范圍中。

    • @ValidateLength. 檢驗(yàn)一個(gè)字符串的長(zhǎng)度是否在指定范圍中。

    • @ValidateRegexp. 檢驗(yàn)一個(gè)字符串是否可以匹配指定的正則表達(dá)式。(OperaMasks提供了一個(gè)工具類org.operamasks.faces.validator.CommonRegexpPatterns,列出了一些常用的校驗(yàn)正則表達(dá)式)

    2、服務(wù)器端驗(yàn)證

    3、自定義驗(yàn)證錯(cuò)誤信息

    4、客戶端驗(yàn)證   
        設(shè)置form 的屬性:clientValidate="true"
        通過(guò)此標(biāo)簽自定義客戶端驗(yàn)證
        <ajax:clientValidator message="用戶名不能為w">
            嵌入javascript代碼
        </ajax:clientValidator>

    posted @ 2009-06-17 13:32 風(fēng)人園 閱讀(336) | 評(píng)論 (1)編輯 收藏

    僅列出標(biāo)題
    共10頁(yè): 上一頁(yè) 1 2 3 4 5 6 7 8 9 下一頁(yè) Last 
    主站蜘蛛池模板: 亚洲邪恶天堂影院在线观看| 亚洲成a人片在线不卡一二三区| 色猫咪免费人成网站在线观看 | 亚洲男女内射在线播放| 在线播放免费人成毛片乱码| 亚洲一级毛片免费看| 国产精品免费看久久久无码| 成人影片一区免费观看| 亚洲欧美日韩一区二区三区| 亚洲综合av永久无码精品一区二区| 免费观看激色视频网站bd| 一级毛片免费毛片毛片| 亚洲人成高清在线播放| 亚洲综合色区在线观看| 国产一卡2卡3卡4卡无卡免费视频| 乱人伦中文视频在线观看免费| 久久精品国产亚洲av高清漫画| 免费a级毛片永久免费| 最近中文字幕免费2019| 免费中文字幕视频| 亚洲ts人妖网站| 亚洲乱色熟女一区二区三区丝袜| 最近最好的中文字幕2019免费| 中文字幕成人免费高清在线| 亚洲乱码无人区卡1卡2卡3| 亚洲AV日韩AV天堂久久| 亚洲国产婷婷综合在线精品| 免费人成网站在线观看10分钟| 一级毛片a女人刺激视频免费| 亚洲娇小性xxxx| 久久久亚洲欧洲日产国码是AV| 亚洲AV之男人的天堂| 最近最好的中文字幕2019免费| 最刺激黄a大片免费网站| 视频免费在线观看| 一道本在线免费视频| 免费人成视频在线播放| 亚洲AV日韩AV永久无码色欲| 亚洲性线免费观看视频成熟| 久久精品国产亚洲AV无码麻豆 | youjizz亚洲|