色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

jsp中定義和使用方法示例介紹

在jsp中,如果需要處理復(fù)雜數(shù)據(jù)時(shí),在上方定義一個(gè)Java方法是很有效的解決方案,把處理數(shù)據(jù)的責(zé)任推給該方法,然后該jsp頁面的主流程就不受影響。當(dāng)然也可以使用js定義方法來處理,js似乎更善于定義這樣的方法來處理前臺(tái)數(shù)據(jù),但有時(shí)候jsp和js之間倒騰數(shù)據(jù)時(shí)會(huì)出亂碼或者報(bào)一些找不到對(duì)象的錯(cuò)誤,因此他們之間的互相傳值還是越少越好。

看一看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è)的方式來統(tǒng)計(jì),如果最后一個(gè)是漢字,那么這個(gè)漢字就放棄掉,絕不能出現(xiàn)半個(gè)漢字的情況。

jsp中定義方法,需要注意以下幾點(diǎn):

1,需要使用<%! %>這樣的標(biāo)簽包起來,這是jsp中定義變量或者方法的標(biāo)志。

2,如果在方法中需要使用內(nèi)置對(duì)象out時(shí),一定要在方法的參數(shù)列表中傳過來,并且要讓方法跑出一個(gè)IO異常。

3,方法的范圍就不要定義了,反正就是內(nèi)部使用,直接使用缺省范圍的就可以了。

jsp技術(shù)jsp中定義和使用方法示例介紹,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 临泉县| 富顺县| 从江县| 扎赉特旗| 本溪市| 绥滨县| 成安县| 固安县| 红桥区| 晋中市| 西畴县| 芷江| 增城市| 通化市| 榆社县| 七台河市| 牟定县| 麦盖提县| 荣成市| 枣阳市| 札达县| 曲周县| 谷城县| 达州市| 运城市| 略阳县| 哈巴河县| 高台县| 凤阳县| 杂多县| 林西县| 贵州省| 常德市| 青龙| 望谟县| 绥中县| 高青县| 揭西县| 武义县| 长垣县| 嵩明县|