Я обнаружил странную проблему с аннотациями в 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-компонента... но я не могу, он будет работать только, если я управляю bean-компонентом в faces-config.xml
файле с содержимым:
<?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