gpt4 book ai didi

model-view-controller - JSF:依赖于另一个 Controller 的 Controller ?

转载 作者:行者123 更新时间:2023-12-04 08:24:21 25 4
gpt4 key购买 nike

我正在开发一个项目,其中有一个 FooViewController 和一个 BarListControllerBars 列表现在需要取决于正在查看的 Foo。那么有人对如何执行此操作有建议吗?

我不需要从实现的角度来回答,但更多的是从设计的角度来回答。即:

  • FooViewController 是否应该以某种方式告诉 BarListController 正在查看什么 Foo
  • BarListController 是否应该询问 FooViewController 正在查看什么 Foo
  • 无论哪种情况,您如何将这些东西注入(inject)彼此? (这部分我需要实现帮助 ;-) )

感谢您的帮助!

最佳答案

基本上,您在其中调用具体操作的 bean 应该将其作为方法参数或托管属性进行请求。

因此,如果您使用的是支持 Servlet 3.0/EL 2.2 的容器,则将 Foo 作为方法参数传递:

<h:commandLink value="Bar list"
action="#{barListController.list(fooViewController.foo)}" />

public void list(Foo foo) {
this.list = barService.list(foo);
}

如果您还没有使用 EL 2.2,请将 Foo 设置为托管属性:

<h:commandLink value="Bar list"
action="#{barListController.list}" />

@ManagedBean
@ViewScoped
public class BarListController {

@ManagedProperty("#{fooViewController.foo}")
private Foo foo;

public void list() {
this.list = barService.list(foo);
}

// ...
}

关于model-view-controller - JSF:依赖于另一个 Controller 的 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7440016/

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