jsp頁面間跳轉,獲取上一頁面表單內的值
阿新 • • 發佈:2019-01-02
筆記
一、在頁面間傳遞資料時的方法:
切記text框的name屬性,只有設定name屬性,下一個頁面的request才可以獲取資料.id屬性不行,因為id屬性主要是為了JavaScript操作
1.
通過<a href="judge.jsp?name=<%=user.getName() %>&pass=<%=user.getPass() %> " />此方法安全性不好,可以用於傳遞不涉及安全限制的資料;但是不侷限於該頁面是否有form,並且也不用跳轉動作,多省事啊!!!
2.
通過form傳值,form的method用post安全性好,並且不易於出現亂碼;
而get安全性不好,適合傳遞少量資料,並且易出現亂碼;
二、下面講亂碼的出現情況及處理方法:
1.
request.getParameter("name");出現亂碼:使用request之前先設定request的編碼方式:request.setCharacterEncoding("utf-8");
2.
獲取form資料出現亂碼:將form的method改為post;
3.
修改頁面的字符集:在head標籤之間新增<meta charset="utf-8" />
四、JavaScript驗證表單
1.
提交表單時驗證表單內容,form格式如下
<form name="form" method="post" onsubmit="return check()"> <input type="text" name="name" id="name"/> <input type="submit" value="提交" /> </form>
切記:(1)寫著return;(2)check()內無需加引數;
驗證JavaScript格式如下:
<script language="javascript">
function check() {
name=document.getElementById("name");
if(name!==""){
return true;
} else {
return false;
}
}
</script>
2.
判斷表單內text內容是否為空,用=="",而不是==null,否則驗證無效;
最後都用上,如此:
String name = getElementById("name");
if (name != null && name != "") {
//do something
}
在<%%>中java指令碼段判斷亦是如此;