@entryid scheint immer generiert zu werden, auch wenn man einen Leerstring bei systemColumns eingibt:
<xe:this.systemColumns><![CDATA[#{javascript:""}]]></xe:this.systemColumns>
Man könnte versuchen diese Werte client-seitig zu entfernen.
Ich verwende aber statt dessen i.d.R. customRestService und generiere mit die Daten dann z.B. wie folgt:
@SuppressWarnings("unchecked")
public String getEntitiesAsJson( ArrayList<Person> persons ) {
JSONArray jArray = new JSONArray() ;
try {
for( Integer i = 0 ; i < persons.size() ; i++ ) {
jArray.add( this.getEntityAsJsonObject( persons.get(i))) ;
}
} catch (Exception e) {
this.logger.logError( e) ;
}
return jArray.toJSONString() ;
}
@SuppressWarnings("unchecked")
private JSONObject getEntityAsJsonObject( Person p ) {
JSONObject jObj = new JSONObject() ;
try {
jObj.put( "id", p.getId() ) ;
jObj.put( "lastname", p.getLastname() ) ;
jObj.put( "firstname", p.getFirstname() ) ;
jObj.put( "praefix", p.getPraefix() ) ;
jObj.put( "suffix", p.getSuffix() ) ;
} catch (Exception e) {
this.logger.logError( e) ;
}
return jObj ;
}
Das ist relativ schnell gemacht und recht flexibel.
Gruß
Hubert