1
我正在處理的應用程序使用會話作用域的巨大遺留bean。問題是我無法重構代碼,我需要一些屬性來請求作用域。有什麼辦法可以實現嗎?在會話作用域bean中請求作用域屬性JSF
我正在處理的應用程序使用會話作用域的巨大遺留bean。問題是我無法重構代碼,我需要一些屬性來請求作用域。有什麼辦法可以實現嗎?在會話作用域bean中請求作用域屬性JSF
您可能有一個@RequestScoped
bean,使用@ManagedProperty
注入傳統會話作用域bean並使用@PostConstruct
來檢索您需要的屬性。
例如:
@ManagedBean(name = "legacyBean")
@SessionScoped
public class LegacyBean implements Serializable {
private Object attr1;
private Object attr2;
// Getters and setters
}
@ManagedBean(name = "requestScopedBean")
@RequestScoped
public class RequestScopedBean {
private Object requestAttr1;
@ManagedProperty(value = "#{legacyBean}")
private LegacyBean legacyBean;
@PostConstruct
private void init() {
this.requestAttr1 = legacyBean.getAttr1();
}
public Object getRequestAttr1() {
return this.requestAttr1 ;
}
}
一個具體的例子可能會提高你的問題的質量,並爭取更多的答案 – kolossus 2014-10-08 23:51:34