痞客邦的第二篇,還不太熟怎麼用。

進行POC過程發現如果XML不是檔案,而是字串,JDOM如何去parse? 這以前晃兄有教過一次。

StringReader sr = new StringReader(xmlString);

Document doc = builder.build(sr);

倒是非常簡單,而且字串內容不需前置<?xml version="1.0" encoding="UTF-8"?>

Jemmy 發表在 痞客邦 留言(0) 人氣()


這是我遷移到痞客邦後第一篇Blog,沒想到對岸朋友還是無法分享。

在新的PC試玩Android,結果明明有裝JDK,Path和JAVA_HOME都有設置,結果安裝Android SDK Tool的installer執行檔回應:JDK not found。

經Google大師裁示,目前Android SDK只支援32 bit,而我是安裝64bit,所以得安裝32 bit的JDK

Jemmy 發表在 痞客邦 留言(0) 人氣()

  Java Script的世界一向隨便,非我族類的一套library反而是種嚴謹,而對習慣隨便寫Java Script的我,花了半天才找到解法。問題如下:

HTML內文
<div class="demo_jui">
<table cellpadding="0" cellspacing="0" border="0" class="display" id="table_grid">
    <thead>
        <tr>

Jemmy 發表在 痞客邦 留言(0) 人氣()

  java.lang.IllegalStateException: Committed。大多出現在sendRedirect或forward時發生,通常解法是:

request.setAttribute("result", finaldata);

request.getRequestDispatcher("calculation.jsp").forward(request, response); // 因為request的attribute屬性要隨著forward跳轉。

  而我在Struts 1開發時也有這個問題,當我google到上述解法時,才恍然原來我是用Ajax去call Struts的Action並以JSON回傳,也就是我在Action的內容如下:

JSONArray json = JSONArray.fromObject(list);
logger.debug(json.toString());
PrintWriter out=response.getWriter();
out.println(json);
out.flush();

Jemmy 發表在 痞客邦 留言(0) 人氣()

  寫Web一直以來是我的罩門,但同事會信的沒多少,認為這對我應該不難,其實下意識覺得我是救世"僕"。想拿回借出去的書參考,結果它們全被擺在家裡睡覺。


  Web搞不定,就記錄我在PostgreSQL的新發現:


  • JDBC承接serial型態都會出錯,用Long接說不能Cast成Integer、用Integer接說不能Cast成BigDecimal、用BigDecimal接卻又說不能Cast成Integer、用String接也說不能Cast成Integer。那怎麼辦咧?在SQL語法強轉型:select cast(serial_id as int) from table。cast不但可以將serial轉成int,也能將character varying轉成int。

  • PostgreSQL似乎沒有判斷NULL的function,NULLIF(var1, var2)是指當var1 = var2回傳Null,所以只好這麼改:select case when serial_id is null then –1 else serial_id end from table。典型的MSSQL語法。

  • 有個欄位放系統時間長整數,卻是字串格式,所以要format成顯示格式如下:select to_char(to_timestamp(to_number(origtime, '99999999999')), 'YYYY-MM-DD') from table。先to_number再to_timestamp後to_char,夠落落長吧!
  • Jemmy 發表在 痞客邦 留言(0) 人氣()

      Lotus Notes其實也是有Schema的。取得方式如下:

    Form form = db.getForm("fmFoo");
    Vector<String> vec = form.getFields();
    System.out.println(vec.toString());

      之前討論過Form只是Document裡一個Item名,而getForm顯然是Notes Database物件特別針對Form屬性進行搜尋。其getFields是列出隸屬於該Form的Field。一度以為Item等同於Field,但顯然Form / Field與Document / Item之間還是有差異:

    • Form / Field:其實就等同Table的Schema,類似於Java Class地位。
    • Document / Item:類似於Java Instance地位。第一位document可能多出一些item,是第二份document所沒有,但item name只要不等於field name,基本上就只是屬該instance所有。

      結論是:

    • Form is an Item、Fields所列出的名字都是Item Name。但Item Name不一定就是Field Name,除非該Item Name同時為getFields裡的一個名字。
    • 業務邏輯上,Form代表一種Document的類型,而非實體。

    Jemmy 發表在 痞客邦 留言(0) 人氣()

      利用在客戶端測試的空檔,測試Spring出品的Java Mail。

    import javax.mail.internet.MimeMessage;

    import org.springframework.mail.javamail.JavaMailSenderImpl;
    import org.springframework.mail.javamail.MimeMessageHelper;

    public class SpringMailer {

        public static void main(String[] args) throws Exception {
            JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
            javaMailSender.setHost("127.0.0.1");
            MimeMessage msg = javaMailSender.createMimeMessage();

    Jemmy 發表在 痞客邦 留言(0) 人氣()

      在想移blog後,是不是要依抽象類別來分,如Maven、Ant甚至Git放到CM,Regex也包括Shell Script。臨時支援他人寫的程式,跳過Ant直接接觸Maven的我,注記一下Ant在manifest.mf生成dependency jar list的方法。

    原來的Ant Script摘錄如下:

    <target name="build" depends="compile" description="Compile and generate jar">
        <jar destfile="${dist.dir}/compare.jar" compress="true" basedir="${temp.dir}">
        <manifest>
            <attribute name="Main-Class" value="${mainclass}"/>
            <attribute name="Class-Path" value="lib\commons-collections.jar lib\commons-pool.jar lib\commons-dbcp.jar lib\ojdbc14.jar lib\nls_charset12.jar lib\jdom.jar lib\log4j-1.2.12.jar"/>

    Jemmy 發表在 痞客邦 留言(0) 人氣()

    netsh interface ip set address name="區域連線" source=dhcp
    netsh interface ip set dns "區域連線" source=dhcp

    Jemmy 發表在 痞客邦 留言(0) 人氣()

    • DateTime dateTime = session.createDateTime("2010-11-27:10:00:09");  // from java.sql.Date
    • DateTime dateTime = session.createDateTime("2010-11-27:10:00:09.000000000"); // from java.sql.TimeStamp
    • DateTime dateTime = session.createDateTime(new java.util.Date());

      在取得lotus.domino.DateTime物件後,就可以replaceItemValue("DateField", dateTime);。如此在NotesClient才會顯示Date/Time而非Text型態。

      要search的話得借助Function了,如下:

    db.search("Form=\"fmFoo\" & @TextToTime(\"2010-11-27:10:00:09.000000000\")=DateField");

      基本上若參數只到日期,精準度會比對到日期,若列出時分秒,精準度則比對到時分秒。

    Jemmy 發表在 痞客邦 留言(0) 人氣()

      Blog和Microblogging不同的是,Blog像是EJB的Enity Bean,而Microblogging則是Session Bean。楊淑君的黑襪事件就記錄Blog裡,表彰中韓在跆拳道比賽的黑暗惡質。

      以前我對朋友說過一句話,但看到這黑襪事件,依然對這句話感到毛骨悚然。當對朋友要離開公司,也想保持好聚好散,但遺留的專案未結,我就對他說:把所有責任推給離開的人是最廉價的諉過手法。白色恐怖時期,國內首宗銀行搶案,刑警迫於破案壓力,刑求運將王迎先認罪,導致王迎先跳河自盡以表清白,而惡警仍諉過於畏罪自殺,直到確定劫犯是李師科時,當時刑求的惡警大多逃往大陸發跡。楊淑君被亞跆盟栽贓作弊,不但取消參加資格,甚至打算停權,乃至株連中華隊處份,斷人生路還要毀人名節,莫此為甚。

      我個人遭逢指控栽贓經驗為數不少,最後以實力證明過不在己,使我更相信職場上:看風向,不如看對象。我相信大多朋友所說:跟對老板很重要。但這準則從不曾在彼得杜拉克等大師管理著作出現過:只有找對的人。但提昇到社會層次,我對[看風向,不如看對象]這話就有點心虛,命運乖蹇如王迎先,最後只能以死明志。讓我想到在Vibo案若不是因我祖母往生,暴露PM根本沒做人力備援的問題(PM自己也是人),若專案失敗便可能全歸責在我身上。王迎先之死也換來司法改革,錄口供必須有律師在場。

      但楊淑君呢?不只國家層次,還是國際層次,中韓聯手坑殺選手生命,毀人名節。一個楊淑君不白之冤,縱然得雪,亞跆盟依然是南韓人操縱,先天優勢是跆拳道確實源自南韓,加上中國選手吳靜鈺是奪金重點對象。訴諸國際的結果我畢竟悲觀,如同拉法葉案纏訟最後是我們嬴了,但十年有了吧!這時一顆慧星如楊淑君的選手生命如因此閃逝,我想到了王迎先。我不會瞧不起亞跆會的梁振錫、洪性天乃至於中國技術人員同時是吳靜鈺的教練趙磊,人格本就卑劣如斯,何必正眼一看。但運動場上要勇冠三軍,其心技體要皆臻上品,所以金牌得主吳靜鈺即時是被動的在潛規則下拿到金牌,以平凡人角度或許不忍苛責於她,但以運動員的要求來說:

    吳靜鈺,是我最看不起的人。

    Jemmy 發表在 痞客邦 留言(0) 人氣()

      在Windows 7 64bit跑Eclipse,用SVN提交或更新專案時,老彈出如下落落長視窗:

    Failed to load JavaHL Library.
    These are the errors that were encountered:
    no libapr-1 in java.library.path
    no libapriconv-1 in java.library.path
    D:\Soft\Ruby\bin\libeay32.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform

    Jemmy 發表在 痞客邦 留言(0) 人氣()

    Blog Stats
    ⚠️

    成人內容提醒

    本部落格內容僅限年滿十八歲者瀏覽。
    若您未滿十八歲,請立即離開。

    已滿十八歲者,亦請勿將內容提供給未成年人士。