gpt4 book ai didi

java - JSF 中的循环 managebean 检测错误

转载 作者:搜寻专家 更新时间:2023-11-01 04:03:39 24 4
gpt4 key购买 nike

我必须访问页面 A 和 B,我想在 JSF 中从 A 导航到 B,然后从 B 导航回 A。我在 A 的托管 bean 中设置了托管属性 B,反之亦然,但问题是我遇到了类似这样的错误托管 BEAN 循环检测。

  <managed-bean>
<managed-bean-name>viewBulkMetalIssueBean</managed-bean-name>
<managed-bean-class>com.cc.jas.web.manufacturing.bulkmetalissue.ViewBulkMetalIssueBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>viewJobcardBean</property-name>
<property-class>com.cc.jas.web.manufacturing.jobcard.ViewJobcardBean</property-class>
<value>#{viewJobcardBean}</value>
</managed-property>


</managed-bean>


<managed-bean>
<managed-bean-name>viewJobcardBean</managed-bean-name>
<managed-bean-class>com.cc.jas.web.manufacturing.jobcard.ViewJobcardBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>viewBulkMetalIssueBean</property-name>
<property-class>com.cc.jas.web.manufacturing.bulkmetalissue.ViewBulkMetalIssueBean</property-class>
<value>#{viewBulkMetalIssueBean}</value>
</managed-property>


</managed-bean>

这个问题是否有任何解决方案或替代解决方案?

最佳答案

这确实不可能。如果没有这种检测,它只会导致托管属性设置的无限循环。

要解决这个问题,只需让“父”bean 在被注入(inject)时将其自身设置在“子”bean 中即可。

public class Parent {
private Child child;

public void setChild(Child child) {
this.child = child;
this.child.setParent(this);
}

// ...
}

<managed-bean>
<managed-bean-name>parent</managed-bean-name>
<managed-bean-class>com.example.Parent</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>child</property-name>
<property-class>com.example.Child</property-class>
<value>#{child}</value>
</managed-property>
</managed-bean>

<managed-bean>
<managed-bean-name>child</managed-bean-name>
<managed-bean-class>com.example.Child</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>

关于java - JSF 中的循环 managebean 检测错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4263907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com