Posted on 2006-11-09 11:11
泰仔在線 閱讀(1853)
評論(0) 編輯 收藏 所屬分類:
網(wǎng)上沖浪 、
Java 相關(guān) 、
Javascript
最近一個項目應(yīng)日本客戶的需求,我們在其中添加了一個共通報錯的模塊,對前后臺的各種提示信息進行收集,并進行統(tǒng)一的處理,顯示給系統(tǒng)的用戶。
這個模塊,主要思想就是利用前臺頂層頁面的一個js數(shù)組,將提示信息都收集起來,然后再按照要求進行顯示。前臺的收集肯定就不用說了,后臺的收集我這里是將后臺的提示信息先保存在request里面,到達頁面后再利用標簽轉(zhuǎn)存到j(luò)s數(shù)組里,最后進行統(tǒng)一的呈現(xiàn)。這個過程中由于js經(jīng)驗的不足,走了一些彎路,因此把它記錄下來,作為以后繼續(xù)學(xué)習(xí)的基礎(chǔ)。
這里是開始調(diào)試的一些代碼:
//添加錯誤message打印到頁面
function showMsgWindow(obj){
var pagePath = window.top.TGlobals.webRoot + "/pages/common/msgShow.jsp";
showModelessDialog(pagePath,obj,"dialogTop:200px;dialogLeft:200px;dialogHeight:400px;dialogWidth:700px;status:no;edge:sunken; ");
}
//定義Message數(shù)據(jù)結(jié)構(gòu)
function msgObj(msgname, msgkey, msgvalue) {
this.msgname = msgname;
this.msgkey = msgkey;
this.msgvalue = msgvalue;
msgObj.prototype.getname = function() {
return this.msgname;
}
msgObj.prototype.getkey = function() {
return this.msgkey;
}
msgObj.prototype.getvalue = function() {
return this.msgvalue;
}
}
//去空
function zNull(str) {
if (str.length < 1) {
str = " ";
}
return str;
}
function errorMsgWindow(){
var obj = window.top.errorMsg;
if (obj.length > 0) {
showMsgWindow(obj);
clearErrorMessage();
return false;
}
return true;
}
//根據(jù)參數(shù)對Message進行初始化
function pushErrorMessage(){
var strobj = new msgObj();
if (arguments.length >= 3) {
strobj = new msgObj(zNull(arguments[0]), zNull(arguments[1]), zNull(arguments[2]));
} else if (arguments.length == 2) {
strobj = new msgObj(zNull(arguments[0]), zNull(arguments[1]), " ");
} else {
return false;
}
window.top.errorMsg.push(strobj);
}
function clearErrorMessage(){
window.top.errorMsg = new Array();
}
事實證明這里有幾個地方是有點問題的,一般調(diào)用好像不會出現(xiàn),但用的范圍廣一些就會有感覺了。