首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除使用会话托管bean作为数据资源的jsf页面中的信息?

如何删除使用会话托管bean作为数据资源的jsf页面中的信息?
EN

Stack Overflow用户
提问于 2013-11-27 07:24:20
回答 1查看 777关注 0票数 0

我有一个关于两个java bean的问题,它是在faces-config.xml中声明的,在JSF 1.2中有两个不同的托管bean作用域。首先,我想解释一下我现在的问题。

我可以将一些信息从我的java系统导出到另一个系统中(我认为数据的细节及其具体的传输方式并不那么重要)。

重要的是,在我看来,触发该导出的java具有托管bean范围“会话”。数据导出工作我的系统背景和需要这个会话范围。

用户可以在jsf / xhtml页面中看到导出已启动的信息,下面是具体问题:

代码语言:javascript
复制
<ui:repeat value="#{adminArea.informationForExport}" var="info">
    <h:outputText value="#{info}" />
</ui:repeat>

此信息每次都是HTML的一部分,如果用户在我的系统中查看另一个xhtml页面并返回到这个xhtml页面,则不会消失,他可以在该页面上启动数据导出。

My "adminArea“是在faces-config.xml中使用托管Bean范围"session”声明的,并实现了数据导出的java代码:

代码语言:javascript
复制
<managed-bean>
    <managed-bean-name>adminArea</managed-bean-name>
    <managed-bean-class>resources.adminArea</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
</managed-bean>

声明的bean "adminArea“在bean "newCalculation”中被引用为托管属性,该属性是托管bean范围“请求”:

代码语言:javascript
复制
<managed-bean>
    <managed-bean-name>newCalculation</managed-bean-name>
    <managed-bean-class>resources.calculation</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>        
    <managed-property>
        <property-name>adminArea</property-name>
        <value>#{adminArea}</value>
    </managed-property>     
</managed-bean>

这个bean需要托管bean作用域“请求”。

是否将bean "adminArea“的托管bean作用域从”会话“更改为”请求“的唯一方法?但这导致了一个问题,我的数据导出在后台无法工作。

或者我能用其他仪器解决这个问题吗?

格里茨·马威德

EN

回答 1

Stack Overflow用户

发布于 2013-11-27 07:34:06

最后答案:

  1. 转到JSF2.0。它有许多有用的特性描述了这里
  2. 如果要在特定页面上显示特定信息,请尝试使用“视图范围”。看看这里,看看请求作用域和视图作用域之间的区别。尝试将用户界面与视图作用域bean直接链接。通过ManagedProperty注入可以接收到的所有会话或应用程序信息。
  3. 我建议您拒绝使用xml配置的bean,转而使用注释。很好的评论,你可以阅读这里
  4. 关于JSF中的后台处理。这些事情通常由Enterprise (EJB)执行。看看EJB3,也许还有计时器服务
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20236220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档