2012-01-23 89 views
0

我使用的網格單元格渲染器...和形式bindig ... 電網格渲染衣被合計好 形式bindig值是壞的(GXT文本字段或文本區域不能解碼的HTML實體

我測試:FF9和最後一個Chrome

這個bug?或瀏覽器錯誤?還是其他什麼東西?

對不起,我有點講英語......(我使用gTranslate)

錯誤畫面=>http://test.eggproject.hu/gxt/textfieldentitesbugg.PNG

關於json(gxt模型) {「ID」:1,「user_email」:「 [email protected]」,「display_name」:「XXX YYYY」,「user_cegnev」:「」,「user_jogosultsag」的「

」管理員」, 「user_kedvezmeny」:0 「user_city」:0 「user_irsz」: - 1, 「user_district」:3 「user_street」:241, 「user_hazszam」: 「2813」, 「user_emelet」: 「10」, 「user_ajto」: 「588」, 「user_kapucsengo」: 「58」, 「USER_COMMENT」:「ó ü öú \ u0151 \ u0171áí」, 「如first_name」: 「Harangozo」, 「姓氏」: 「的Gabor」, 「user_telephone」: 「06111111」, 「user_street2」: 「」}

USER_COMMENT錯誤只顯示textarea或textfield爲什麼?

+0

json => {「ID」:1,「user_email」:「[email protected]」,「display_name」:「XXX YYYY」,「user_cegnev」:「」,「user_jogosultsag」:「administrator」 「user_kedvezmeny」:0 「user_city」:0 「user_irsz」: - 1, 「user_district」:3 「user_street」:241, 「user_hazszam」: 「2813」, 「user_emelet」: 「10」, 「user_ajto」 : 「588」, 「user_kapucsengo」: 「58」, 「USER_COMMENT」:「ó ü ú \ u0151 \ u0171áí「,」first_name「:」Harangozo「,」last_name「:」Gabor「,」user_telephone「:」06111111「,」user_street2「:」「} – user1035341

+0

我測試過...只是textarea ...其他測試字符串óüüúőűáí<腳本>提醒(" asdasd "); </script > – user1035341

回答

0

這是由於每個部分正在使用的組件。網格本質上是一個標籤,這意味着任何加載到此表中的HTML編碼數據都被正確渲染。顯示可以看到的內容

解決方案是一種自定義字段綁定,它可以處理數據輸入和輸出

public class HTMLParserBinding extends FieldBinding { 

    protected Field<?> field;` 

    public HTMLParserBinding(Field<?> field, String property) { 
     super(field, property); 
     this.field = field; 
    } 

    protected Object onConvertFieldValue(Object value) { 
     if (value == null) { 
      return null; 
     } 
     return Format.htmlDecode(value.toString()); 
    } 

    protected Object onConvertModelValue(Object value) { 
     if(value == null) { 
      return null; 
     } 
     return Format.htmlEncode(value.toString()); 
    } 
}