JSF 2.0,"preRenderView"事件处理程序调用了两次

Ari*_*iod 4 jsf-2

我有以下代码段:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html
        PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core">

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

<h:head>
    <title>Simple JSF Facelets page</title>
</h:head>

<h:body>
    Hello, Place your content here
</h:body>

</html>
Run Code Online (Sandbox Code Playgroud)

当我打开页面时,WorkflowController.test()方法被调用两次(它只是一个生成日志条目的简单方法).你知道为什么它会被叫两次吗?

谢谢.

bar*_*ber 5

尝试把<f:event/>标签放在外面<f:metadata>,它对我有用(mojarra 2.1.0).