我想使用備份組件作爲訪問我的複合組件的屬性(如其界面中定義的)的層。 我想實現的是通過我的支持組件類讀取我的組件的屬性,其中我提供了所提供屬性的屬性值。JSF備份組件 - 複合組件 - Stackoverflow異常
public String getName() {
if (this.name == null) {
this.name = getAttributes().get("name");
}
return this.name;
}
但是,當設置一個新值,例如通過輸入字段我想只存儲在我的支持bean屬性中的值不更新作爲屬性參數傳遞給我的複合組件的原始屬性的值。
public void setName(final String name) {
this.name = name;
}
我現在的問題是,當我的支持組件的吸氣劑被稱爲第一時間或在他的生活,吸氣的代碼的某些早期上面出現StackOverflow例外,因爲getAttributes.get(效果如圖所示」名稱「)調用我的支持組件(本身)的getter,而不是獲取提供給我的複合組件的屬性/屬性。 有趣的部分是使用一個簡單的getter只返回this.name而不是調用getAttributes()我可以在那裏設置一個斷點,然後調用getAttributes.get(「name」)(通過調試器)結果不在溢出/調用它自己的getter而是返回提供給我的複合組件的屬性。
我想這與背部部件和複合部件之間的耦合有關。當第一次調用getter時,不會給出它們之間的耦合,因此getAttributes.get(「name」)的調用將導致調用我的支持組件的getter,而之後調用不會調用它自己的getter,而是獲取提供給我的comp組件的屬性。
任何人有任何想法如何解決這個問題? Thnx提前。
怎麼樣的getAttributes()的代碼,你可以分享嗎?它是否在同一個後臺bean中? – cheffe
@cheffe:它只是從'UIComponent'類繼承而來。 xstring,我冒昧地從問題中移除了[java]和[ejb]'標籤,因爲這個問題根本與這個問題無關,只會吸引上面的無用評論。 – BalusC
好的,謝謝BalsuC。 – xstring