【问题标题】:Duplicate local variable in JSP in RADRAD中JSP中的重复局部变量
【发布时间】:2010-10-28 12:18:44
【问题描述】:

在 RAD 中构建后,我在 JSP 中收到“重复的局部变量”错误。我在 scriptlet 标记内有相同的变量名不同的逻辑:存在/逻辑迭代标记。 示例代码。 <logic:present> <% int var1 = 5; %> </logic:present> ................... <logic:present> <% int var1 = 5; %> </logic:present> 由于变量在不同的范围内,它们不是重复的。变量是否在同一范围内?如果不是,是 RAD 中的一些编译/验证问题吗?请指教。

【问题讨论】:

    标签: jsp duplicates rad


    【解决方案1】:

    RAD 是对的。您正在使用 scriptlets(那些应该是 avoided 的老式 &lt;% %&gt; 东西)而不是 taglibs(例如 &lt;prefix:name&gt;)来处理服务器端数据。 scriptlets 不像你所期望的那样在与那些标记库相同的范围内运行。由&lt;% %&gt; 声明的所有 scriptlet 共享相同 本地范围。摆脱它们并用适当的标记库替换它们。由于功能要求不明确,因此很难为您提供正确方法的非常合适的代码示例。

    【讨论】:

      【解决方案2】:

      它们确实处于相同的范围内,例如,如果是这样,它们就不会:

      <logic:present> 
        <% {int var1 = 5; }%>
       </logic:present>
       ................... 
      <logic:present> 
        <% int var1 = 5; %>
       </logic:present>
      

      最终,所有内容都将转换为一种方法,这就是您的代码助手生成错误的原因。无论如何,正如 BalusC 所说,不建议使用脚本。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-06-14
        • 2015-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-23
        • 1970-01-01
        • 2023-03-13
        相关资源
        最近更新 更多