|
看一看jsp中定義一個(gè)字符串處理的方法:
復(fù)制代碼 代碼如下:
<%!
String splitString(String str, int a) {
if (str != null && str.trim().length() > 0 && a > 0) {
// 取得該字符串的字節(jié)長(zhǎng)度
int length = str.getBytes().length;
// 全部不包括漢字
if (str.length() == length) {
// 如果截取長(zhǎng)度是字符串長(zhǎng)度以內(nèi),就substring,否則就取這個(gè)字符串
if (a < str.length()) {
return str.substring(0, a);
} else {
return str;
}
} // 含有漢字
else {
StringBuffer sb = new StringBuffer();
// 截取算法 遍歷字符串,并且監(jiān)測(cè)a值
for (int i = 0; i < str.length() && a > 0; i++) {
// 如果是漢字算2個(gè)長(zhǎng)度。
if (str.charAt(i) >= '/u4e00' && str.charAt(i) <= '/u9fa5') {
// 如果是漢字且不是最后一個(gè)字符,就加上,否則不加
if (a > 1) {
sb.append(str.charAt(i));
a -= 2;
}
// 不是漢字只算一個(gè)長(zhǎng)度
} else {
sb.append(str.charAt(i));
a--;
}
}
return sb.toString();
}
}
return "輸入有誤";
}
%>
該方法的功能是,傳入一個(gè)字符串和長(zhǎng)度,返回截取后的字符串,長(zhǎng)度會(huì)按照漢字兩個(gè)、字母數(shù)字一個(gè)的方式來(lái)統(tǒng)計(jì),如果最后一個(gè)是漢字,那么這個(gè)漢字就放棄掉,絕不能出現(xiàn)半個(gè)漢字的情況。
jsp中定義方法,需要注意以下幾點(diǎn):
1,需要使用<%! %>這樣的標(biāo)簽包起來(lái),這是jsp中定義變量或者方法的標(biāo)志。
2,如果在方法中需要使用內(nèi)置對(duì)象out時(shí),一定要在方法的參數(shù)列表中傳過(guò)來(lái),并且要讓方法跑出一個(gè)IO異常。
3,方法的范圍就不要定義了,反正就是內(nèi)部使用,直接使用缺省范圍的就可以了。
jsp技術(shù):jsp中定義和使用方法示例介紹,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。