【发布时间】:2012-05-10 15:11:42
【问题描述】:
我在 bean 中遇到了一个奇怪的注释问题。
index.xhtml 内容:
<h:outputText value="#{ejb.helloWorld}" />
Ejb.java 内容:
package bean;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
@ManagedBean(name="ejb")
@SessionScoped
public class Ejb implements Serializable
{
public String getHelloWorld()
{
return "Hello World";
}
}
从我们上面看到的,我应该能够调用 bean 方法...但我不能,它会工作只有如果我在 faces-config.xml 文件中管理 bean 的内容:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
version="2.0">
<managed-bean>
<managed-bean-name>ejb</managed-bean-name>
<managed-bean-class>bean.Ejb</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
</faces-config>
问题:
- 为什么我会遇到这种情况?
- 如何解决此问题?
我正在使用:
-
JSF 2.0(导入到库中) JBoss Server 4.2
【问题讨论】:
-
对于 JSF 2.0,你真的应该使用 JBoss AS7,因为它是 JEE6 认证的。
标签: jsf-2 jboss managed-bean