作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我必须访问页面 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/
我在密码验证方面遇到了一些问题,@BalusC 帮我解决了,here .但是在我的表单中插入验证代码之后,当我调用 Controller 方法时,没有任何反应。这是我的 JSF 页面:注册.xhtml
我必须访问页面 A 和 B,我想在 JSF 中从 A 导航到 B,然后从 B 导航回 A。我在 A 的托管 bean 中设置了托管属性 B,反之亦然,但问题是我遇到了类似这样的错误托管 BEAN 循环
我是一名优秀的程序员,十分优秀!