2015-03-13 440 views
1

如何從JSP中訪問此類中的isValid?如何從JSP中訪問Java類中的公共靜態變量

public class bController extends aController {  
    public static boolean isValid; 
    private void empData(empmonthly data){ 
    while (empIterator.hasNext()){    
      isValid = false; 
      data1 = (Entity)empIterator.next();    
      empNumber = data1.getInt("NO_EMP");    
      if (empNumber > 0){ 
       try{ 
        cStatus= data.getString("Status"); 
        if (cStatus.equals("Temp")){ 
         isValid = true; 
        } else { 
         isValid = false; 
        } 
       } 
       catch(Exception e){ 
        cStatus = "";     
       } 
       loadEmpD(); 
      } 
    } 
} 
+0

它不是一個全局變量,它是一個靜態字段。通常不鼓勵使用「全局變量」的做法。不是常量的靜態字段通常只應用它們存在的類,並且應該使用參數傳遞方法將信息直接傳遞給其他對象。 – RealSkeptic 2015-03-13 13:46:48

+0

我澄清了標題,使其更加準確,並且更快地達到了這一點,然後從體內刪除了完全多餘的問題陳述,以節省一點時間,同時感謝(我們在此不使用)。我還確保剩餘的主體從主要點開始,在代碼縮進中修復了一些故障,並添加了相關標記以提高可見性。 – 2015-03-13 18:51:04

回答

1

您訪問靜態字段非常相同的方法從JSP和Java,所以你只需要:

<p>isValid: <%=bController.isValid%></p> 

這是強烈訪問字段(除非他們最後一次)的泄氣方式。注意,由您的JSP構成的servlet可能在多個線程中工作,因此存儲在該字段中的值可能對其他線程無效。

+0

與您的問題無關,但編寫'Temp「.equals(cStatus)'比您實際做的(找出原因)要安全得多,實際上您可以簡單地寫下這行'isValid ='Temp'。等於(cStatus)'可以節省你打字的時間,並且更具可讀性。 – Cromax 2015-03-13 13:55:07

+0

謝謝大家的幫助。 – Mm125 2015-03-13 20:17:50

相關問題