java 板


LINE

看到一堆 jsp 就暈了 囧rz --------------------------------------------------------------- String path2 = request.getRealPath("."); try { File image = new File(path2 +"\\MyChart2.png"); ChartUtilities.saveChartAsPNG(image, chart, 640, 480); } catch (Exception exc) { } out.println("<p><img src = 'MyChart2.png'></img></p>"); 這樣寫有潛在的問題 src = 'MyChart2.png' 除非你確定你的 jsp 只會在 context root 不然應該要是 request.getContextPath() + '/' + 'MyChart2.png' 要以 context path 為起始點來算比較保險 如果用 jstl 就會寫成 <img src="<c:url value="/MyChar2.png" />" /> --------------------------------------------------------------- if(drawback.equals("1")){ where_condiction = " and (缺失態樣 like '%1%') "; } 您 equals 的習慣不太好. 只要 drawback 不小心為 null 你的程式就掛在那邊 改成 "1".equals(fooooo) 比較好 --------------------------------------------------------------- if(tartype.equals("0")){ selcase = " where (預算金額 > 0 ) "; temptype = "的所有稽核案件"; temptype2 = "所有稽核採購案件"; } if(tartype.equals("1")){ selcase = " where (採購標的性質 = '工程' ) "; temptype = "的工程稽核案件"; temptype2 = "工程類稽核採購案件"; } if(tartype.equals("2")){ selcase = " where (採購標的性質 = '勞務' ) "; temptype = "的勞務稽核案件"; temptype2 = "勞務類稽核採購案件"; } if(tartype.equals("3")){ selcase = " where (採購標的性質 = '財物' ) "; temptype = "的財物稽核案件"; temptype2 = "財物類稽核採購案件"; } if(tartype.equals("4")){ } IF 太長了, 蠻傷腦筋的 比較好維護的方式大概會寫成 public abstract class SelectType { String selcase; String temptype; String temptype2; public String getSelcase() { return selcase; } public void setSelcase(String selcase) { this.selcase = selcase; } public String getTemptype() { return temptype; } public void setTemptype(String temptype) { this.temptype = temptype; } public String getTemptype2() { return temptype2; } public void setTemptype2(String temptype2) { this.temptype2 = temptype2; } } class AllType extends SelectType { public AllType() { selcase = " where (預算金額 > 0 ) "; temptype = "的所有稽核案件"; temptype2 = "所有稽核採購案件"; } } class EngineeringType extends SelectType { public EngineeringType() { selcase = " where (採購標的性質 = '工程' ) "; temptype = "的工程稽核案件"; temptype2 = "工程類稽核採購案件"; } } class ServiceType extends SelectType { public ServiceType() { selcase = " where (採購標的性質 = '勞務' ) "; temptype = "的勞務稽核案件"; temptype2 = "勞務類稽核採購案件"; } } class EffectsType extends SelectType { public EffectsType() { selcase = " where (採購標的性質 = '財物' ) "; temptype = "的財物稽核案件"; temptype2 = "財物類稽核採購案件"; } } ==================================================================== if(tartype.equals("2")){ selcase = " where (採購標的性質 = '勞務' ) "; temptype = "的勞務稽核案件"; temptype2 = "勞務類稽核採購案件"; } 把要用到的 SelectType 可以先放到 Map 裡 您就不需要 if... 來決定設定的值 map.get("2") 取得一個 ServiceType 的 instance 整串 if 變成一個 map get method 會比較不容易出錯 也方便加新的 type =================================================================== 而後面也有 where_condition 做法也可以模仿, 不過可能要迂迴一點的做法 像是建立一個 Decorator 類別 abstract class WhereConditionDecorator extends SelectType { SelectType selectType; public WhereConditionDecorator(SelectType selectType) { this.selectType = selectType; } public abstract String getSelcase(); } class WhereCondition_anyone extends WhereConditionDecorator { public WhereCondition_anyone(SelectType selectType) { super(selectType); } public String getSelcase() { return selectType.getSelcase() + " " + "and ((缺失態樣 like '%1%') " + "or (缺失態樣 like '%2%') " + "or (缺失態樣 like '%3%') " + "or (缺失態樣 like '%4%') " + "or (缺失態樣 like '%5%') " + "or (缺失態樣 like '%6%') " + "or (缺失態樣 like '%7%') " + "or (缺失態樣 like '%8%') " + "or (缺失態樣 like '%9%')) "; } } 有了他, 你可以利用已經取得的 SelectType 實體再建立一個新的物件 new WhereCondition_anyone(type).getSelcase() 您就算是透過物件的手法幫您產生 sql string where (採購標的性質 = '勞務' ) and ((缺失態樣 like '%1%') or (缺失態樣 like '%2%') or (缺失態樣 like '%3%') or (缺失態樣 like '%4%') or (缺失態樣 like '%5%') or (缺失態樣 like '%6%') or (缺失態樣 like '%7%') or (缺失態樣 like '%8%') or (缺失態樣 like '%9%')) -- 雖然講那麼多 不知對您現在的用處大不大 不過您可以留著以後有閒再來改看也說不定 :) java 也能寫得很有趣 ^^ --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.167.103.78
1F:推 cklonger:獲益良多 11/11 13:32
2F:推 mybluesky:大推此文章,此文該M才是 11/15 00:39







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP