jsp中定義和使用方法示例介紹
更新時間:2013年09月03日 15:32:29 作者:
在jsp中,如果需要處理復(fù)雜數(shù)據(jù)時,在上方定義一個java方法是很有效的解決方案,本文為大家講解下jsp中如何定義及使用方法,感興趣的朋友可以了解下
在jsp中,如果需要處理復(fù)雜數(shù)據(jù)時,在上方定義一個java方法是很有效的解決方案,把處理數(shù)據(jù)的責(zé)任推給該方法,然后該jsp頁面的主流程就不受影響。當然也可以使用js定義方法來處理,js似乎更善于定義這樣的方法來處理前臺數(shù)據(jù),但有時候jsp和js之間倒騰數(shù)據(jù)時會出亂碼或者報一些找不到對象的錯誤,因此他們之間的互相傳值還是越少越好。
看一看jsp中定義一個字符串處理的方法:
<%!
String splitString(String str, int a) {
if (str != null && str.trim().length() > 0 && a > 0) {
// 取得該字符串的字節(jié)長度
int length = str.getBytes().length;
// 全部不包括漢字
if (str.length() == length) {
// 如果截取長度是字符串長度以內(nèi),就substring,否則就取這個字符串
if (a < str.length()) {
return str.substring(0, a);
} else {
return str;
}
} // 含有漢字
else {
StringBuffer sb = new StringBuffer();
// 截取算法 遍歷字符串,并且監(jiān)測a值
for (int i = 0; i < str.length() && a > 0; i++) {
// 如果是漢字算2個長度。
if (str.charAt(i) >= '\u4e00' && str.charAt(i) <= '\u9fa5') {
// 如果是漢字且不是最后一個字符,就加上,否則不加
if (a > 1) {
sb.append(str.charAt(i));
a -= 2;
}
// 不是漢字只算一個長度
} else {
sb.append(str.charAt(i));
a--;
}
}
return sb.toString();
}
}
return "輸入有誤";
}
%>
該方法的功能是,傳入一個字符串和長度,返回截取后的字符串,長度會按照漢字兩個、字母數(shù)字一個的方式來統(tǒng)計,如果最后一個是漢字,那么這個漢字就放棄掉,絕不能出現(xiàn)半個漢字的情況。
jsp中定義方法,需要注意以下幾點:
1,需要使用<%! %>這樣的標簽包起來,這是jsp中定義變量或者方法的標志。
2,如果在方法中需要使用內(nèi)置對象out時,一定要在方法的參數(shù)列表中傳過來,并且要讓方法跑出一個IO異常。
3,方法的范圍就不要定義了,反正就是內(nèi)部使用,直接使用缺省范圍的就可以了。
看一看jsp中定義一個字符串處理的方法:
復(fù)制代碼 代碼如下:
<%!
String splitString(String str, int a) {
if (str != null && str.trim().length() > 0 && a > 0) {
// 取得該字符串的字節(jié)長度
int length = str.getBytes().length;
// 全部不包括漢字
if (str.length() == length) {
// 如果截取長度是字符串長度以內(nèi),就substring,否則就取這個字符串
if (a < str.length()) {
return str.substring(0, a);
} else {
return str;
}
} // 含有漢字
else {
StringBuffer sb = new StringBuffer();
// 截取算法 遍歷字符串,并且監(jiān)測a值
for (int i = 0; i < str.length() && a > 0; i++) {
// 如果是漢字算2個長度。
if (str.charAt(i) >= '\u4e00' && str.charAt(i) <= '\u9fa5') {
// 如果是漢字且不是最后一個字符,就加上,否則不加
if (a > 1) {
sb.append(str.charAt(i));
a -= 2;
}
// 不是漢字只算一個長度
} else {
sb.append(str.charAt(i));
a--;
}
}
return sb.toString();
}
}
return "輸入有誤";
}
%>
該方法的功能是,傳入一個字符串和長度,返回截取后的字符串,長度會按照漢字兩個、字母數(shù)字一個的方式來統(tǒng)計,如果最后一個是漢字,那么這個漢字就放棄掉,絕不能出現(xiàn)半個漢字的情況。
jsp中定義方法,需要注意以下幾點:
1,需要使用<%! %>這樣的標簽包起來,這是jsp中定義變量或者方法的標志。
2,如果在方法中需要使用內(nèi)置對象out時,一定要在方法的參數(shù)列表中傳過來,并且要讓方法跑出一個IO異常。
3,方法的范圍就不要定義了,反正就是內(nèi)部使用,直接使用缺省范圍的就可以了。
相關(guān)文章
基于jsp+servlet實現(xiàn)的簡單博客系統(tǒng)實例(附源碼)
這篇文章主要介紹了基于jsp+servlet實現(xiàn)的簡單博客系統(tǒng),以完整實例形式分析了基于jsp+servlet簡單博客系統(tǒng)的原理與相關(guān)技巧,并附帶了完整源碼供讀者下載學(xué)習(xí),需要的朋友可以參考下2015-09-09
使用JavaBean創(chuàng)建您的網(wǎng)上日歷本(1)
使用JavaBean創(chuàng)建您的網(wǎng)上日歷本(1)...2006-10-10
jsp+ajax實現(xiàn)無刷新(鼠標離開文本框即驗證用戶名)實現(xiàn)思路
jsp+ajax實現(xiàn)無刷新,鼠標離開文本框即驗證用戶名,很方便的功能,感興趣的朋友可以了解下,或許對你學(xué)習(xí)ajax無刷新有所幫助2013-01-01
JSP靜態(tài)導(dǎo)入與動態(tài)導(dǎo)入使用詳解
這篇文章主要介紹了JSP靜態(tài)導(dǎo)入與動態(tài)導(dǎo)入使用詳解,文章通過include指令的使用格式,詳細介紹了靜態(tài)與動態(tài)注入的使用方法,對大家的學(xué)習(xí)或經(jīng)驗積累有一定的參考價值,需要的朋友可以參考下2020-08-08

