您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“如何解決request.getParameter取值后的if判斷為NULL的問題”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何解決request.getParameter取值后的if判斷為NULL的問題”這篇文章吧。
以下為我程序的一部分,Auto_space_time_ok.jsp文件從Auto_space_time.jsp獲取的值代碼,此處博主需要做一個判斷,當danwei 等于“學校”字符串時,將 zhuangtai的值賦值給zhengzhuang
if(danwei = "學校") zhengzhuang = zhuangtai;
結果獲取不到值,輸出語句為null。
System.out.print(zhengzhuang);
將判斷語句更改為
if( "學校".equals(danwei)) zhengzhuang = zhuangtai;
方可解決問題。
此處我們比較的是數值,基本數據類型,即原始數據類型。byte,short,char,int,long,float,double,boolean,他們之間比較數值時,可用直接用(==),而作為String,Integer,Date 這些復合型數據類型(類),比較數值時用.equals,此時(==)比較的是地址。
本文針對的是jsp中form表單提交后servlet獲取到null的情況
jsp中需要輸入的input標簽中沒設name屬性值
正確例如:
<input name="password" value="${user.password}" class="textinput" />
因為表單提交后,如果想用servlet中request.Parameter()來獲取值,那么配套的是input中的name的值而不是id的
value對于這有沒有都是可以的。
form中的action屬性跟Webservlet中的名不一致
form表單的提交方式應該是post而不是get(method屬性的值)
正確例如:
<form action="${pageContext.request.contextPath}/Modify" method="post" id="modifyForm">
一般存在于servlet文件的開頭幾行的:
@WebServlet("/Modify")
負責表單提交的按鈕的問題
眾所周知(狗頭保命),當你需要提交一份表單,你同時還需要一個“按鈕”
可能也有不用按鈕的,但是我目前所寫的都大抵是需要的。
當你無法使用input的submit提交按鈕而是別的東西例如一個超鏈接時,你若是在超鏈接的href里寫了和form的action中一樣的內容,那恭喜,你大概率就會得到一個null。
像這樣:
<form action="${pageContext.request.contextPath}/Modify" method="post" id="modifyForm">
<a href="${pageContext.request.contextPath}/ModifyUser?id=${user.id}" rel="external nofollow" >
這其實也是我所遇到的問題,我是這樣解決的
<script> function modify(){ document.getElementById("modifyForm").submit(); } </script>
<a href="#" rel="external nofollow" onclick="modify()">
也就是寫了個js方法并在a中onclick調用,構成當點擊這個超鏈接時提交表單的功能。form不動。然后便解決了。。
最近跟著上課做了個項目,其中出現了上述問題,雖然不是個大問題,但是花費了較長時間解決,故寫此文,希望對你有所幫助。
若你沒有在這里找到解決方法,再去耐心的檢查代碼,可能就是哪個地方粗心寫錯了罷了;不要放棄,不能讓如此小問題這個成為你以后的一道坎。
以上是“如何解決request.getParameter取值后的if判斷為NULL的問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。