私はJSFWebアプリケーションを作成しており、以前はメインのバッキングBeanをリクエストスコープで使用していました。後でそれをセッションスコープに変更しました。次に、新しいリクエストスコープのバッキングBeanを作成する必要があります。最初のリクエストスコープのBeanの形式に従いましたが、コンストラクターにまったく呼び出させられないようです。私はかなり長い間JSFを使用していますが、以前はリクエストスコープのクラスが正常に機能していたのに、なぜコンストラクターが呼び出されないのか理解できません。:-S
これが私のバッキングBeanクラスです:
package brian.canadaShipping;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
@ManagedBean(name= "cpstcRequestBean")
@ViewScoped
public class CpstcRequestBean implements Serializable {
private static final long serialVersionUID = -5066913533772933899L;
public CpstcRequestBean()
{
super();
System.out.println("Hello, RequestBean!");
}
}
これが私の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>home</managed-bean-name>
<managed-bean-class>brian.canadaShipping.CpstcHomeBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<description>handles initialization of pseudo-permanent data</description>
<managed-bean-name>cpstcApplicationBean</managed-bean-name>
<managed-bean-class>brian.canadaShipping.CpstcApplicationBean</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<managed-bean>
<description>- intializes HomeBean values which shouldn't be session scoped</description>
<managed-bean-name>cpstcRequestBean</managed-bean-name>
<managed-bean-class>brian.canadaShipping.CpstcRequestBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
</faces-config>
私はICEfaces3.01フレームワークで実行しています。これは、JSF2.2に基づいていると思います。以前にリクエストスコープのバッキングBeanを実行していましたが、この新しいクラスを機能させることができません。任意の提案をいただければ幸いです。前もって感謝します!