將數據模型保留在會話作用域bean中,添加一個請求作用域bean,它從會話作用域bean複製引用,並讓表單提交給該請求作用域bean,並讓該視圖使用請求作用域bean。您可以在每個託管屬性注入下從請求作用域bean內部訪問會話作用域bean。例如。
<managed-bean>
<managed-bean-name>cart</managed-bean-name>
<managed-bean-class>com.example.Cart</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>showCart</managed-bean-name>
<managed-bean-class>com.example.ShowCart</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>cart</property-name>
<value>#{cart}</value>
</managed-property>
</managed-bean>
其中ShowCart
可以看起來像:
public class ShowCart {
private Cart cart;
private Cart show;
// +getters+setters
public String submit() {
show = cart;
// ...
}
}
和視圖使用#{showCart.show}
代替。
感謝BalusC的解決方案。我將使用它,我希望這也可以在JSF 1.1中使用。 – Shamik 2010-02-17 03:05:58
真的,這是:) – BalusC 2010-02-17 03:13:42