javaEE的jsp文件from表單傳遞報空指針異常,(接收數據類型和如何判斷null),(jsp)a標籤傳值報錯問題解決

🥇🥈🥉在進行項目操作和數據庫增刪改查的時候,出現jsp之間點擊跳轉判斷最常用的兩種方式的問題總結:

🈺🉐第一種:javaEE的jsp文件from表單傳遞報空指針異常,(接收數據類型和如何判斷null)
🔥🌞第二種:(jsp)a標籤傳值報錯問題解決

解決方法:
🌈㊙第一種from表單:
(1)文字解釋: 在項目中具體是用來from提交數據時,會出現空值(null)的判斷;
(2)項目問題: 當from表單傳遞數據時,有兩個提交按鈕,但是隻提交一個,在第二個jsp文件中,獲取的兩個提交按鈕的值,怎樣判斷?
答案: 可以獲取,用null來判斷,但是不能用isEmpty(),因爲它只適用於大部分數據類型和方法,唯獨jsp裏面不可以用,否則會報空指針異常;
(3)語法解析:
request.getParameter(“name”)返回String類型,
request.getAttribute(“name”)返回object類型
無論是request.getParameter(“name”)還是request.getAttribute(“name”),如果在上下文中沒有name或者在提交按鈕中沒有點擊時,都會返回null值;
(4)正確代碼如下:


<%@page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" 
    import="com.sql.dao.InsertDao,com.sql.dao.User,java.util.ArrayList,java.text.Normalizer.Form,org.apache.tomcat.util.descriptor.web.LoginConfig"%>
<html>
<head>
<title>doLogin.jsp</title>
</head>
<body>
<!-- 測試從表單提交中一個有數據一個爲空判斷:
              解決辦法:判斷是否爲空;
System.out.println(title+",t");
System.out.println(content+",c");
System.out.println(textsave+",te");
System.out.println(textShow+",tw");
if(textsave == null){
	System.out.println("顯示新聞成功");
}
if(textShow == null){
	System.out.println("錄入新聞成功");
} -->
<!-- 我們經常使用TextUtils.isEmpty()來判斷字符串是否爲null或者空字符串
但是在這裏不可以判斷是否爲null -->
<!-- 一般用string == null || string.trim().length() == 0來判斷一個字符串是否爲空 -->

<!-- request.setCharacterEncoding("UTF-8");
解決字節輸出流亂碼問題 -->
<%
request.setCharacterEncoding("UTF-8");
String title = request.getParameter("textTitle");
String content = request.getParameter("textContent");
String textsave = request.getParameter("textSave");
String textShow = request.getParameter("textShow");
if(textShow == null){
	InsertDao insertDao = new InsertDao();
	int count = insertDao.insert(new User(title,content));
	request.getRequestDispatcher("record.jsp").forward(request, response);
}
if(textsave == null){
	/* session.setAttribute("sessionname", count); */
	request.getRequestDispatcher("successful.jsp").forward(request, response);
	
}
%>

 
		
	
<!-- <script type="text/javascript">
window.onload=function(){
alert("用戶名或者密碼登錄有誤,登錄失敗請重新輸入");}
</script>
if(textsave.equals("rn")){
	session.setAttribute("sessionname", count);
	request.getRequestDispatcher("record.jsp").forward(request, response);
	
}if(textShow.equals("sn")){
	request.getRequestDispatcher("successful.jsp").forward(request, response);
} -->


</body>
</html>

🎁💎第二種:jsp文件通過a標籤來傳值:問題解決:
(1)文字解釋: 當點擊a標籤跳轉另一個jsp文件,並傳遞id的值,或者一個屬性名的屬性值;
(2)項目問題: 參數中的等號左右不能有空格。表達式中沒關係。但有的就不能有,如:int a += b;(+=不能有空格);寫的時候一定要連續寫,不可以有空格,寫錯之後會報錯誤:"%20"是個空格符號;
(3)正確代碼如下:

<a href = "del.jsp?rank=<%=id%>">刪除</a>

以上總結,當採納和對你有幫助時;
🤞👣👀👇🤝🙌🍗
留下你的點贊足跡+你愛心的評論哦!

🉐(⓿_⓿)謝啦!!☆⌒(*^-゜)v

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章