java - 来自单个 println 的多个日志语句

标签 java jsf jakarta-ee

我编写数组列表的大小只是为了调试目的,但我注意到我在 Eclipse 的日志窗口中多次获取该值。每次都是不同的,并且它适用于我使用 System.out.println(..) 进行调试的其他地方。为什么会发生这种情况?

<小时/>

日志窗口

INFO: 4
INFO: 4
INFO: 4
INFO: 4

查看

<f:metadata>
    <f:event listener="#{defaultNewQuestionHandler.init}" type="preRenderView" />
</f:metadata>

支持bean

import java.io.Serializable;
import java.util.ArrayList;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

@ViewScoped
@ManagedBean
public class DefaultNewQuestionHandler extends QuestionHandler implements Serializable {

    private static final long serialVersionUID = -6986655384538762284L;

    @Override
    public void init() {
        answers = new ArrayList<Answer>();

        for (int i = 0; i < 4; i++) {
            addAnswerAlternative();
        }

        System.out.println(answers.size());
    }
}

最佳答案

由于 JSF 的请求响应生命周期,您会在日志中多次获取该值。初始请求会产生 4 个日志条目,因为 JSF 执行“恢复 View ”、“应用请求值”、“处理事件”和“渲染响应”阶段。

关于java - 来自单个 println 的多个日志语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8505966/

相关文章:

java - 如何使用 ImageView 创建 Javafx 图像 slider

java - 使用 Java 在 URL 请求中嵌套 JSON

security - 通过将复合组件放置在/WEB-INF 中来防止直接访问复合组件

image - 如何在 JSF 2.0 中渲染图像

jakarta-ee - Java EE 中使用异步方法的事务管理

java - HTTP 请求是通过 TCP 还是 UDP 接收的?

java - Sonarqube 不分析父类(super class) equals 并可能对 NPE 产生误报

java - JSF 中的 JAXWS 缓存

java - 允许 servlet 和客户端脚本读取同一个文件的最佳方法是什么?

java - 关于 Java 文件加密性能的建议