【问题标题】:Code in JSP file is executed couple timesJSP 文件中的代码执行了几次
【发布时间】:2018-09-20 09:21:22
【问题描述】:

我不明白为什么我在 JSP 文件中的代码被执行了 3 次。 我正在使用 Intellij IDE 中配置的 Tomcat 9.0.12。

JSP 中的代码

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>$Title$</title>
</head>
<body>
<%! String foo = "foo";
    String bar = "bar";
    StringBuilder sb = new StringBuilder();%>
<% sb.append(foo).append(bar).toString();%>
<%=sb%>
</body>
</html>

运行Tomcat服务器后,页面为:

【问题讨论】:

  • 你真的不应该在 JSP 中使用这样的代码片段。
  • 这是我在 JSP 中的第一步。
  • 这种使用 JSP 的方式至少十年来一直被认为是一种不好的做法,您可能需要考虑一下您的学习材料是否是最新的。
  • @MarkRotteveel 你能推荐最新的 JSP 方法吗?

标签: java jsp tomcat


【解决方案1】:

尝试将其添加到分隔符中,如下所示:

<% 
    String foo = "foo";
    String bar = "bar";
    StringBuilder sb = new StringBuilder();
    sb.append(foo);
    sb.append(bar);
%>
<%= sb.toString();%> 

【讨论】:

    【解决方案2】:

    声明 只会被调用一次,因此每次调用你都会将额外的“foobar”附加到同一个 StringBuilder

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-06-16
      • 1970-01-01
      • 2012-04-27
      • 2022-11-02
      • 1970-01-01
      • 2019-06-12
      • 1970-01-01
      相关资源
      最近更新 更多