JSF - 在asp.net中控制状态?

时间:2012-10-03 17:41:13

标签: jsf controls javabeans

我创建了一个自定义控件并将其添加到我的标记库中。

此控件显示两个selectonemenu,其中第二个取决于第一个,并通过ajax从数据库中的数据更新。

目前,我使用视图范围bean来选择第二个数据。但我对这个解决方案并不满意,因为有一个bean可能有多个实例。

在asp.net中有一个控制状态来保存控制相关数据。有类似的东西吗?

或者,我可以使用带有转换器的请求范围bean,该转换器在选择时再次从数据库中检索数据。

1 个答案:

答案 0 :(得分:1)

在谈论扩展Component State的类时,等效名为UIComponent

@Override
public Object saveState(FacesContext context) {
    Object values[] = new Object[2];
    values[0] = super.saveState(context);
    values[1] = label;
    return ((Object) (values));
}

@Override
public void restoreState(FacesContext context, Object state) {
    Object values[] = (Object[])state;
    super.restoreState(context, values[0]);
    label = (String)values[1];
}

以上是如何在UIComponent中跨回发来保持组件属性的示例。只需扩展以下两种方法即可。