日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

jsp超链接到java文件,jsp页面超链接传中文终极解决办法

發(fā)布時(shí)間:2025/3/11 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jsp超链接到java文件,jsp页面超链接传中文终极解决办法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在做web前端頁(yè)面的時(shí)候,經(jīng)常碰到傳中文問(wèn)題。網(wǎng)上有許多方案,但仍不能根治,最終要用js或者java的encode相關(guān)方法。

常規(guī)方案有三部:

1.改tomcat的server.xml中URIEncodeing為utf-8

2.頁(yè)面中編碼設(shè)置為utf-8

3.整個(gè)項(xiàng)目編碼使用utf-8

我這樣處理后,在火狐下,不會(huì)出現(xiàn)亂碼,但I(xiàn)E中奇數(shù)個(gè)中文時(shí)仍有亂碼。不過(guò)可以通過(guò)在頁(yè)面中用URLEncoder.encode()方法解決,但如果在jsp頁(yè)面里用又顯得繁瑣且不美觀。

索性自己寫(xiě)個(gè)自定義標(biāo)簽來(lái)處理

使用此方法就不會(huì)再出現(xiàn)IE奇數(shù)個(gè)漢字成亂碼的問(wèn)題了,不多說(shuō),上代碼

EncodeTag.java

Java代碼 packagemypackage.util;

importjava.io.IOException;

importjava.net.URLEncoder;

importjavax.servlet.jsp.JspException;

importjavax.servlet.jsp.JspWriter;

importjavax.servlet.jsp.tagext.TagSupport;

importorg.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager;

publicclassEncodeTagextendsTagSupport?{

privateObject?key;//自定義標(biāo)簽的key屬性

publicvoidsetKey(Object?key)throwsJspException?{

this.key=ExpressionEvaluatorManager.evaluate("key",?key.toString(),?Object.class,this,?pageContext);

}

publicintdoEndTag()?{

try{//?使用JspWriter獲得JSP的輸出對(duì)象

JspWriter?jspWriterOutput?=?pageContext.getOut();

jspWriterOutput.write(URLEncoder.encode(key.toString(),"utf-8"));

}?catch(IOException?ioEx)?{

System.out.println("IOException?in?HelloTag?"+?ioEx);

}

returnEVAL_PAGE;

}

}

encode.tld(此文件需放在你的web項(xiàng)目的src目錄下)

Xml代碼 <?xmlversion ="1.0"encoding="UTF-8"?>

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee?http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"

version="2.0">

JSTL?1.1?core?library

JSTL?core

1.1

en

http://www.xxx.org/util/url/encode

urlEncode

mypackage.util.EncodeTag

empty

key

true

java.lang.Object

在jsp中頭部引入

Java代碼

在jsp中使用

Java代碼 ">xxxx

總結(jié)

以上是生活随笔為你收集整理的jsp超链接到java文件,jsp页面超链接传中文终极解决办法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。