jsp scriptlet局部变量的确切范围是什么?

时间:2014-02-20 18:13:23

标签: jsp variables scope

我想知道scriptlet局部变量的变量范围是多么令人兴奋。例如:

<% String strong = "Indeed it is strong"; %>

我注意到我可以从像这样的JSP表达式中调用它

<%= strong %>

所以我想我们可以谈论“页面范围”。是否有任何文档解释JSP变量的范围?我还没有找到它。提前谢谢。

2 个答案:

答案 0 :(得分:3)

JSP是一个servlet。

这样声明的变量最终以其服务方法结束,例如,服务方法的本地变量。

使用“bang”定义的变量,例如<%! String s = "hi"; %>位于servlet的类级别。

答案 1 :(得分:1)

当我们对变量使用<% %>时,我们定义一个局部变量,该变量仅在当前网页上有效。如果有人刷新网页,将再次定义此变量,因此其值将返回到原始值。

当我们使用<%! %>作为变量时,我们定义了一个全局变量,它通过页面是通用的。它刚刚定义了一次。例如,我们定义一个全局,每次刷新网页时它都会增加,所以如果我们刷新网页,变量会增加而不是返回原始值。