[J2EE] 請問在使用c:import前有沒有辦法取得charEncoding消失
目前想說先用url讀一行, 但是這個在標準的xml之下比較可行, 因為宣告都放在第一行
但是對於html的話,
宣告 <meta http-equiv="Content-Type" content="text/html; charset=big5" />
就不一定放在哪一行
因為這是預先讀的, 如果為了確定charEncode把整篇讀兩次(至少1.5page)好像很浪費
以下是目前的方式, 請問有沒有比較聰明可以判斷的方式...
<%
url=new URL(pageContext.getAttribute("channelLink").toString());
XMLEncoding=new BufferedReader(new
InputStreamReader(url.openStream())).readLine();
pattern = Pattern.compile("encoding\\s*=\\s*\".*\"");
matcher = pattern.matcher(XMLEncoding);
if (matcher.find()){
pageContext.setAttribute("XMLEncoding",
matcher.group().substring(matcher.group().indexOf("\"")+1,
matcher.group().lastIndexOf("\"")).trim().toUpperCase());
}
else{
pageContext.setAttribute("XMLEncoding", "UTF-8");
}
%>
<c:import var="news" url="${pageScope.channelLink}"
charEncoding="${pageScope.XMLEncoding}"/>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.126.188.162