2011-04-18 26 views
1

我從one.jsp越來越GRA值如下如何從一個JSP通過window.open

<script language="javascript"> 
function gotoAddPanelAction(elem) 
{ 
var st=elem.value; 
if(st!="") 
{ 
Popup=window.open('SelectInterviewPannel2.jsp?gra='+st,'Popup','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes',400,400); 
} 
else 
{ 
validateForm(document.frm); 
} 
} 
</script> 

我retriving在SelectInterviewPannel2.jsp值如下

<td width="60%" class="txt-lable"> 
<Select name="grade" ><option value="" selected>Select</option> 
<% 
String gra = request.getParameter("gra"); 
if(gra.value=="Level 1") { 
%> 
<option value="E1">E1</option><option value="E2">E2</option><option value="E3">E3</option><option value="E4">E4</option></select> 
<% } else {%> 
<option value="M1">M1</option><option value="M2">M2</option></select> 
<% } %> 
</td> 
傳遞價值給其他

我的問題是在SelectInterviewPannel2.jsp如果語句沒有執行。我只能選擇下拉框而沒有任何值。

+2

整數用逗號表示? :) – Thomas 2011-04-18 06:30:45

+0

哦對不起,我只是看了 – Akshatha 2011-04-18 06:35:32

回答

3

如果gra參數不存在,則request.getParameter("gra")將返回null,並且使用if(gra.equals("Level 1"))的比較將拋出空指針異常。因此,您可以嘗試使用if("Level1".equals(gra))以避免在gra參數不存在時的空指針異常

+0

你是否正確我得到了這個異常感謝你的指導 – Akshatha 2011-04-18 11:29:48

5
if(gra.value=="Level 1") { 

你不應該使用equals()方法字符串作儀,

幾點建議:

+0

@Akshatha你不能看到這[NULL處理]的事情照顧[本](http://stackoverflow.com/questions/5699249/how-to-pass-value-從一個jsp到另一個通過窗口打開/ 5699276#comment-6512459)我的意見 – 2011-04-18 12:48:04

4

首先,爲什麼這個標題:如何刪除在java中的整數逗號它不符合你的問題。

作爲一個答案:

if(gra.value=="Level 1") 

使用本

if(gra.equals("Level 1")) 

在java中==比較參考,並不值,並比較兩個字符串的值,而不是你應該使用.equals(str)

+0

感謝你使用了它 – Akshatha 2011-04-18 06:40:50

+0

好吧,我建議你去JSTL,但如果你想繼續這個Java代碼在jsp中,然後'String gra = request.getParameter(「gra」); if(「Level 1」.equals(gra)){'應該可以工作 – 2011-04-18 06:41:27