0

我已经使用 session as 管理 bean managedbean-scope,现在在支持 bean 的构造函数中,正在做一些验证,但是由于 bean 的范围是session当用户第一次尝试点击upload页面时,我正在调用托管 bean 的构造函数并进行一些验证以查看用户是否是否可以访问上传页面。

所以在第一次尝试时,我正在调用构造函数,我收到验证错误消息,说upload该页面对用户不可用,但现在如果我转到任何其他选项卡并单击返回到upload页面菜单选项卡,该页面会显示,我该如何更改行为,以便在每个 pageLoad 上检查验证,我也不能将managed-scopedrequest用于页面,因为我需要在同一会话中的不同请求之间维护一些信息。

这是代码:

支持 Bean 构造函数:

public Upload()
{
    ValidationStatus authorizeBean = validateUSER(user);                
}

Faces-config.xml

<managed-bean>
        <managed-bean-name>fileUpload</managed-bean-name>
        <managed-bean-class>Upload</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
</managed-bean>

有什么想法吗?

4

2 回答 2

1

我认为豆是这样做的错误的地方。我将使用 servlet 过滤器或 JSF Phase 侦听器来处理页面访问。

此处是使用 servlet 过滤器控制页面访问的示例

于 2012-10-16T19:49:10.667 回答
-2

采用@PostConstruct

参考在这里

在你的JSF支持豆中

@PostConstruct
public void initIt(){
}

@PreDestroy
public void cleanUp(){
}
于 2012-10-16T20:21:09.823 回答