我有一个关于两个java bean的问题,它们在faces-config.xml中声明,并且在JSF 1.2中有两个不同的managed-bean-scope。首先,我想解释一下我现在遇到的问题。
我有可能将我的java系统中的一些信息导出到另一个系统中(我认为数据的详细信息及其混凝土传输方式并不那么重要)。
在我看来,重要的是,触发该导出的java bean具有托管bean范围“session”。数据导出在我的系统背景下工作,需要此会话范围。
用户可以在jsf / xhtml页面中看到导出已启动的信息,这是一个具体的问题:
<ui:repeat value="#{adminArea.informationForExport}" var="info">
<h:outputText value="#{info}" />
</ui:repeat>
如果用户在我的系统中观看另一个xhtml页面并返回到此xhtml页面,则此信息每次都是HTML DOM的一部分,并且不会消失,因为他可以开始数据导出。
My Bean“adminArea”在faces-config.xml中使用托管bean范围“session”声明,并实现了数据导出的java代码:
<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范围“请求”:
<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范围“request”。
是将bean“adminArea”的托管bean范围从“session”更改为“request”的唯一方法吗?但这导致了问题,我的数据导出在后台不起作用。
或者我可以用其他乐器解决这个问题吗?
格尔茨 Marwied
答案 0 :(得分:1)
最终答案: