javauri
A. java 中如何調用encodeuri
javascript:
encodeURI(value):將value轉換成utf-8,
decodeURI(value):將utf-8的value反轉成字元串。
java:
URLDecoder.decode(value, "utf-8");
URLEncoder.encode(value, "utf-8");
-----------------------------------------------------------------------------
jsp頁面上有一個文本框:
<input type="text" name="userName" value='<%=request.getAttribute("couserName %>'/>
當文本框內容是漢字的時候,servlet中獲得此文本框內容時是亂碼:
request.getParameter("couserName;
解決:
String str = request.getParameter("couserName;
當文本框是中文時:
new String(str.getBytes("ISO-8859-1"), "GB2312");
B. java 自定義標簽中,xx.tld裡面的uri寫什麼,還有jsp中的uri還有prefix寫什麼。下面是錯誤提示和我的tld
在JSP中使用標簽是很平常的事情,在製作自定義標簽時,通常都需要寫tld文件來定義標簽的各種屬性,對應的java類,前綴等等。標簽與tld文件緊緊相連,所以需要引入c.tld文件。
首先是在頭部申明taglib, uri必須是web.xml定義的,或者是原始tld文件定義的。
<%@ taglib prefix="c" uri="java.sun.com/jstl/core" %>
<%@ taglib prefix="ex" uri="/jstl-examples-taglib" %>
然後便可以在jsp頁面中通過prefix使用相應的標簽
<c:import varReader="reader" url="${filepath}">
<ex:escapeHtml reader="${reader}"/>
</c:import>
Tld文件路徑定義方式:
在web.xml中定義
<taglib>
<taglib-uri>/jstl-examples-taglib</taglib-uri>
<taglib-location>/WEB-INF/lib/jstl-examples.tld</taglib-location>
</taglib>
如果這樣定義的話,映射關系如下:
/jstl-examples-taglibßà{「/WEB-INF/lib/jstl-examples.tld」,」」} // taglib_tld_location[0]就足以表示tld路徑,因此taglib_tld_location[1]為空。