• About Me
  • Java基礎教學
  • 部落格聯播

[JAVA]聯絡我們表單程式後台

前一篇介紹過聯絡我們的的前台程式,這篇會介紹如何取得前台聯絡表單所留言的內容,使用的網頁使用framework有jquery及easyui,利用datagrid來顯示所有的資料列,而重要的留言內容則顯示於iframe裡,如此可排除大部份的html tag產生的問題。

這程式目前缺少了幾個功能,並不影響使用,不過如果有需求的人倒可以自己加入使用:

  • 前台留言後自動發mail給某位管理者
  • 後台可回覆留言給使用者,寄送mail或電話聯絡後寫下聯絡事項

最主要是JavaMail的使用,及資料寫入資料庫的應用。

詳細文章

[c#]asp.net+jQuery+json做Ajax

Ajax常用在網頁單獨某一區塊的內容更新,不需要整頁網頁重新整理就可以得到區塊內容的更新,而常用與Web-Server做資料交換的格式有純文字、Parameter(key=value)、XML或是json等,而json為最常使用的格式之一,它不像XML格式,需要開始Tag與結束Tag,只需要利用Key,Value的方式來進行資料的設定,比XML更為簡單、內容大小更為精簡,詳細內容及方法可以參考http://www.json.org/

asp.net(使用c sharp)使用jQuery實作Ajax與伺服器溝通。

建立Web服務器asmx

利用Web服務器的函數(方法)來處理Ajax的需求及回應

要使用Ajax呼叫Web服務,需要把System.WebScript.Services.SrciptService這行的mark拿掉才可以。

Web服務

再來建立相對應的函數(方法),Ajax呼叫的網頁會是getData.asmx/函數(方法)

如需要共用Session內容,則需在WebMethod加上enableSession:true才可

WebMethod Session:true

詳細文章

jsp檔案上傳並利用Ajax製作ProgressBar監控上傳進度

之前寫過一個jsp的檔案上傳,把檔案上傳的動作製成一個class。而現在要提供的這個範例就比較亂一點了,重點會在增加監控的ProgressListener及Ajax取得上傳進度之資料。

程式需要一個bean放入session裡,專門來存放目前上傳的bytes數及其它資訊,選擇好檔案按下上傳時,會開始上傳動作(使用iframe),並啟動Ajax與Server要求目前上傳進度狀況,把資訊顯示在browser上。

FileUpload2.jpg

詳細文章

網頁除錯觀察的Browser工具FireBug-開發者工具-開發人員工具

當程式人員或網頁設計師在開發網頁時都會遇到一個問題,就是debug不易,不過自從Firefox大行其道後,這個問題被FireBug解決了,使用FireBug可以很方便的知道網頁那裡出了問題,可以直接修改CSS及html dom內容,還可以知道整個網頁到底傳輸了什麼內容及資訊等等,可說是十分好用,Microsoft在其後釋出的Internet Explorer及Google的Browser也都支援了類似的功能,不過更新的頻率並不像FireBug那麼高。

首先介紹IE8的開發者工具

可以由上方工具列的工具->開發者工具 來啟動(或F12)

IE開發者工具1.png

使用開發者工具HTML tab裡的滑鼠指標可以直接取得網頁裡HTML的結構內容

而在這個HTML tab也可以直接修改文件內容或CSS,不過個人並不覺得比FireBug好用

詳細文章

prototype Ajax回傳json物件的處理

一般人在設計ajax成功回傳事件時,有幾種方式來處理回傳的資料,一種是純文字或html code,一種是xml格式那另一種就是json格式,json格式不像xml需要成對的tag,所以在回傳資料長度上會顯的短很快,如果整個網站都大量使用ajax方法的話,選擇json是一個很好的方法。

ajaxjson2.png

json的相關資訊可以在這裡看到:JSON in JavaScript

prototype這個framework本身就有支援To JSON的方法,有二種格式可以轉換成json,一種是javascript的class,另一種就是純文字了,不過純文字的內容要為json格式才能被轉換,如下:

{"bindings": [
        {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
        {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
        {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
    ]
};

詳細文章