【发布时间】:2019-03-03 04:28:43
【问题描述】:
我有一个 CDI Bean,它被注入到另一个 CDI bean,
Bean1Controller:
@ViewScoped
public class bean1Controller
{
@Inject
Bean2Controller bean2;
// + setter and getter
// here I initialise the injected Bean2
@PostConstruct
public void init()
{
bean2 = new Bean2Controller();
}
public void changeFlagBoolean()
{
bean2.setFlag(true);
}
}
Bean2Controller:
@ViewScoped
public class bean2Controller
{
boolean flag=false;
// + getters+setters
}
XHTML 示例:
<h:commandLink style="font-size: 10px"
value="link"
action="#{bean1Controller.changeFlagBoolean()}"
target="content" />
当我单击它时,我的 XHTML 页面中有一个链接。我运行 bean1Controller 的方法 changeFlagBoolean() 将注入的 bean2Controller 的属性标志设置为 true。我就这样继续,但不幸的是它不起作用。
任何建议或某些东西都需要在代码中进行更改。 谢谢
【问题讨论】:
-
嗨,如果 xhtml 不可见,我们如何提出建议? minimal reproducible example 请(和版本信息)
-
已编辑!!谢谢
-
谢谢。版本信息仍然缺失,这不是真正的minimal reproducible example,但很接近。而“不起作用”并不是很有帮助的分析。更多的是最终用户描述,而不是开发人员描述。去掉target属性还能用吗?
标签: jsf cdi managed-bean