gpt4 book ai didi

不建议使用JSF 1.x ValueBinding,正确的替换方法是什么?

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

我有一些JSF 1.0/1.1代码:

FacesContext context = FacesContext.getCurrentInstance();
ValueBinding vb = context.getApplication().createValueBinding("#{someBean}");
SomeBean sb = (SomeBean) vb.getValue(context);

从JSF 1.2开始, ValueBinding is deprecated and replaced by ValueExpression 。我不确定如何更改以上代码以使用 ValueExpression

最佳答案

那个部分

ValueBinding vb = context.getApplication().createValueBinding("#{someBean}");
SomeBean sb = (SomeBean) vb.getValue(context);

应该替换为
ValueExpression ve = context.getApplication().getExpressionFactory().createValueExpression(context.getELContext(), "#{someBean}", SomeBean.class);
SomeBean sb = (SomeBean) ve.getValue(context.getELContext());

或更好
SomeBean bc = context.getApplication().evaluateExpressionGet(context, "#{someBean}", SomeBean.class);

也可以看看:
  • Get JSF managed bean by name in any Servlet related class
  • How to create dynamic JSF form fields
  • 关于不建议使用JSF 1.x ValueBinding,正确的替换方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6772270/

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