为什么我的bean被忽略了?

时间:2015-02-16 17:33:33

标签: jsf-2

刚开始学习JSF。所以我有xhtml文件:

<!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">
<head>
   <title>JSF Tutorial!</title>
</head>
<body>

   <h:outputLabel value="Hello World"></h:outputLabel>
   #{helloWorld.message}
</body>
</html>

简单的豆子:

import javax.faces.bean.ManagedBean;

@ManagedBean(name = "helloWorld", eager = true)

    public class HelloWorld {
       public HelloWorld() {
          System.out.println("HelloWorld started!");
       }
       public String getMessage() {
          return "Hello World 2!";
       }
    }

当我在服务器上启动它时,我看到: 你好,世界!来自h:outputlabel,但没有来自#{helloWorld.message}。 另外,我没有在日志消息中看到bean被初始化。

似乎我的bean被忽略或找不到,但为什么?

1 个答案:

答案 0 :(得分:-3)

headbody更改为h:headh:body,它会有效

编辑:这个答案是不正确的,即使是头部和身体,你的例子只是工作&#39;对我来说,Wildfly 8(Mojarra 2.2.5-jbossorg-3 20140128-1641)(以及PrimeFaces 5.1,OmniFaces 1.8)很奇怪,因为很久以前我确实遇到了同样的问题,答案就解决了。