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]为空。