Feeds:
文章
迴響

Archive for 2009 年 05 月

這次完成電子報發送移植,主要參考 "呂文達-JSP 2.0 動態網頁技術 3th",修改區域包含

1. 資料庫改用 DataStore
2. Mail 改用 GAE/J 的 JavaMail 版本
3. 小部份錯誤修改

透過這個範例可以學到自訂的登入驗證機制、信件發送等機制。

另外在移植過程中也遇到定義一個包含 Text 欄位的 Entity,如果透過 PersistenceManager.getObjectById() 取得該 Entity,Text 欄位資料會是 null 但其他欄位是正常的,不確定是效能考量 or Bug,因為 Text 型態用於儲存大於 500 個以上字元,有可能基於效能因素採行延遲載入,但是透過 JDO 的 Query 取得的 Entity 則都有資料。

另外有一點我之前弄錯了,Mail 發送不一定要登入 Google 驗證,只要發送者的 Mail 是應用程式管理者或已驗證的 Google 帳號即可,本範例就是透過這個方式實作。由於這個範例主要在於信件發送,特別留意一下信件發送量的計算方式,如果一封信有三位接收者,則會損耗 3 個寄件配額而不是一個,所以他是以收件人數為計算單位。

官方網站:http://gaeforjava.appspot.com/
範例網址:http://6.latest.gaeforjava.appspot.com/epaper/paperlist.jsp (登入帳密 admin/admin )

執行畫面

image

image

image

image

image

image

Read Full Post »

jQuery Version: 1.3.2

1. 無法定義 $.fn.delete = function(){ } 否則會出現”必須要有識別項”的錯誤訊息,在 chrome 2.0.181.0 也無法運作,不過沒有錯誤訊息,但是在 Firefox 3.5b 正常

2. $.clone 在克隆多層 <div> 後呼叫 show() 會錯誤,如下:

JS

$( function(){
    var pb = $(‘.pb’).clone(true)               
        .appendTo(‘body’)
        .show();
});

HTML

<div class="pb" style="display: none">
    <div>
        <span class="filename">請稍後…<span>
    </div>

<div>
    <span class="fixwidth">平均速度</span>: <span class="speed"></span>
</div>

</div>

錯誤發生在 jQuery.extend 的 id = elem[ expando ] = ++uuid; 這一行。elem[ expando ] 會造成 IE 回報”物件不支援此屬性或方法”。

可是 JS 如果改成

            var pb = $(‘.pb’).clone(true)               
                .appendTo(‘body’)
                .css(‘display’, “);

就不會出現錯誤訊息,但執行結果還是錯誤~ 真是糟糕

Read Full Post »

GAE/J v0.24 開發紀錄

本次加入4個項目

1. 使用 iText 產生 PDF
不過目前目前簡單的測試發現,因為 GAE/J 不能使用 java.awt.Color 所以沒有辦法產生色彩文字。但是產生純文字 PDF 是可以作到。

2. 使用 Rome 產生 RSS
使用 Rome 時需要額外加入 JDom 才能正常運作。

3. 移植 JSP Blog 0.2
原本想移植一個 Blog 到 GAE/J ,從網路上選了一個簡單的 Open Source,也就是 JSP Blog 0.2,不過實際看了之後,這不是 Blog,只能算是一個不完整的新增、編輯資料庫範例,所以要讓他在 GAE/J 運作,只需要用 Datastore 改寫。改天找個時間比較像 Blog 來移植

image

4. 加入內建範例 memoreez
這算是用 Datastore 實作的簡易對對碰記憶小遊戲

image

測試網址:http://gaeforjava.appspot.com/

Read Full Post »

今天遇到一個有趣的問題,假如 <body> 標籤的內文如下:

<body>
原來的文字#1
<div id="pb" style="display: none">
    <script type="text/javascript">document.write("hello");</script>
</div>
原來的文字#2
</body>

又剛好有一段如下的 Javascript :

$( function(){
    var pb = $(‘#pb’).clone()
        .appendTo(‘body’)
        .show();
});

請問最終畫面顯示什麼呢?

Firefox 3.5b

image

IE7

image

Chrome 2.0.181.1

image

 

這是 Firefox 的 Bug?

Read Full Post »

寫了簡單的檔案瀏覽之後,覺得功能很陽春但也夠用了。不過後來想一下,Java 應該有類似的 Open Souirce 才對,於是找了一個簡單的專案 — JSP File Browser,雖然檔案主要就 Browser.jsp,不過檔案操作該有的功能(新增、刪除、修改)他都有了,也支援多檔 Zip 壓縮後下載、線上編輯、執行外不成是等功能。不過受限於 GAE/J 的執行環境限制,只能使用"讀"部份的功能,如下載、檢視檔案目錄、顯示檔案內容。

如果有人需要這個修改版程式碼,請自行到測試網址下載 ^^

測試網址:http://5.latest.cwchelloworld.appspot.com/Browser.jsp

執行畫面:

image

Read Full Post »

新增檔案下載與 File Size 資訊

測試網址:http://5.latest.cwchelloworld.appspot.com/fp.jsp

image

Read Full Post »

本次新增範例主要是教你使用 Google 的驗證服務 oauth,透過一步步的教學導引,告訴你如何申請 Key、驗證、取得驗證 Token 和使用 Google 相關服務。

測試網址:http://gaeforjava.appspot.com/oauth/Welcome

執行畫面

image

Read Full Post »

Older Posts »