2013-03-19 57 views
0

我想訪問他們的名字作爲字符串值傳遞由UiBinder的呈現的字段值通過以字符串形式傳遞的字段名稱來訪問UIBinder字段值?

有什麼辦法來訪問存儲在用戶界面領域的數據,如

PersonViewImpl.ui.xml

<g:TextBox ui:field="lastName"/> 

PersonViewImpl.java

@UIField 
String lastName 
public Object fieldByName(String fieldName) { 
    .... 
    return value; 
} 

PersonActivity.java

PersonView view; 
String ln = (String)view.fieldByName("lastName"); 

任何解決方案? Thnx的建議

回答

0

我不會推薦使用這種模式來動態訪問小部件。這不是真正乾淨的代碼,並且很容易中斷。
如果你有很多你想要綁定的字段,我會建議使用Editors

如果你仍然想訪問這個小工具,你有2種選擇:

  1. 創建HashMap包含所有TextBox ES(或任何你想要訪問字段),並使用字段名作爲重點。你可以創建一個輔助函數來檢索基於密鑰的值。但是你必須自己填寫你的HashMap
  2. 如果您將所有小部件放入容器小部件(例如FlowPanel)中,則可遍歷容器小部件的小部件列表並檢索它們。您可能會將id設置爲fieldname以標識它們。
+0

謝謝Ümit快速回復。編輯方法很好。但我不想爲DTO使用bean。我的想法是使用由HQL生成的HashMap樣式的DTO選擇新的Map(...)表達式。比我需要將這些數據綁定到小部件,並在編輯期間將DTO與更新字段組合起來發送回服務器 – bbones1967 2013-03-20 13:06:01

相關問題