我有以下代码段:
<?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>
当我打开页面时,WorkflowController.test()方法被调用两次(它只是一个生成日志条目的简单方法)。你知道它为什么被叫两次吗?
感谢。
答案 0 :(得分:5)
尝试将<f:event/>
标记放在<f:metadata>
之外,它对我有效(mojarra 2.1.0)。