2015-03-13 438 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

相关问题