Java 检查JSP中的反射是否存在变量
我在JSPJava 检查JSP中的反射是否存在变量,java,jsp,reflection,Java,Jsp,Reflection,我在JSPboolean isPresent=false中定义了一个变量,然后在一个包含的JSP中编写了代码来检查这个变量是否存在,但得到的是NoSuchFieldException Class thisClass = this.getClass(); try { Field field = thisClass.getDeclaredField("isPresent"); } catch (Exception ex) { //ToDo } 想知道哪里出了问题。如果您使用以下定义
boolean isPresent=false
中定义了一个变量,然后在一个包含的JSP中编写了代码来检查这个变量是否存在,但得到的是NoSuchFieldException
Class thisClass = this.getClass();
try {
Field field = thisClass.getDeclaredField("isPresent");
}
catch (Exception ex) {
//ToDo
}
想知道哪里出了问题。如果您使用以下定义:
<%
boolean isPresent = false;
%>
但如果将变量的声明更改为:
<%!
boolean isPresent = false;
%>
正如您现在看到的,变量是范围类而不是方法范围
<%!
boolean isPresent = false;
%>
public final class testing_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent {
boolean isPresent = false;