【问题标题】:What is the exact scope of the jsp scriptlet local variables?jsp scriptlet 局部变量的确切范围是什么?
【发布时间】:2014-02-20 18:13:22
【问题描述】:

我想知道脚本局部变量的变量范围是什么。例如:

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

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

<%= strong %>

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

【问题讨论】:

    标签: jsp variables scope


    【解决方案1】:

    JSP 是一个 servlet。

    这样声明的变量最终会出现在其服务方法中,例如,服务方法的本地变量。

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

    【讨论】:

      【解决方案2】:

      当我们使用&lt;% %&gt;作为变量时,我们定义了一个局部变量,它只在当前网页上有效。如果有人刷新网页,这个变量将被重新定义,因此它的值将恢复到原来的值。

      当我们使用&lt;%! %&gt;作为变量时,我们定义了一个全局变量,通过pages是通用的。它只定义一次。例如,我们定义了一个全局变量,它会在每次刷新网页时自行增加,所以如果我们刷新网页,变量会增加而不是返回原始值。

      【讨论】:

      • 这在很大程度上是正确的,但在某些情况下,servlet 实例可以在容器控制下重新实例化。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-19
      • 2012-05-26
      • 1970-01-01
      • 2014-03-02
      • 2013-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多