a標簽超鏈接傳遞參數
可以使用javascript encodeURI方法
<a href = "javascript:location.href=encodeURI('login.jsp?username=張三&password=123456')">登陸</a>
<a href="register.jsp">注冊</a>
javascript:調用js函數,location.href=跳轉,encodeURI對字符串編碼 login.jsp是頁面,后面為參數名 可解決。
界面可以成功跳轉,把encodeURI括號里面的字符串編碼成了這樣:http://localhost:8080/ee19_spring_day03_tx4/login.jsp?username=張三&password=123456
不使用js的encodeURI方法Eclipse的內置瀏覽器會報300的錯,谷歌瀏覽器卻不會報錯,但是會出現亂碼,百度了半天發現超鏈接傳遞中文參數可以使用js encodeURL方法傳中文
然后還百度到了中文參數接受中文字符的辦法(避免亂碼)
中文參數接受中文字符
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"),"utf-8");
new 一個string類型然后通過getBytes("ISO-8859-1") 獲取原來的編碼ISO-8859-1就是參數原來的編碼 utf-8" 就是設置編碼。
然是后即使設置了<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%> 編碼格式為UTF-8 也會出現中文亂碼, 原因可能是jsp文件本身的默認編碼格式還是為ISO-8859-1 所以才會造成中文參數傳遞出現亂碼
jsp文件默認編碼格式
可以看到Default Value : text/html; charset=ISO-8859-1 還是為ISO-8859-1 至於怎么修改,還沒找到辦法