1
Я попытался дать Struts управления данными, которые будут анализироваться в JSON таким образом:Struts 2 JSON боб разборе
Мой боб:
public class Person implements Serializable {
private String name;
private String surname;
public Person(String name, String surname) {
this.name = name;
this.surname = surname;
}
/*
* GETTERS AND SETTERS
* ...
*/
}
Мои действия:
public class action {
private List<Person> people;
private String message;
public String execute() {
this.message = "HELLO";
/*
* Initiliaze the list
*/
return SUCCESS;
}
public List<Person> getPeople() { return this.people; }
public String getMessage() { return this.message; }
}
Мои распорки. xml:
<struts>
<package name="ajax-package" namespace="/ajax" extends="json-default">
<result-types>
<result-type name="myjson" class="org.apache.struts2.json.JSONResult">
<param name="noCache">true</param>
</result-type>
</result-types>
<action class="action" method="execute" name="action">
<result type="myjson">
<param name="includeProperties">
message, people\[\d+\]
</param>
</result>
</action>
</package>
</struts>
Но, если я поставлю запись в моем списке, она представлена в формате JSON, список с уникальной пустой записью:
{"message":"HELLO","people":[{}]}
Он пытался использовать GSON сериализовать мой список, но распорка убегает кавычку.
Как вы инициализируете список? Почему не просто «сообщение, люди» в 'includeProperties'? В качестве побочного примечания не используйте имена нижних регистров для классов. – orique
Мой список инициализируется следующим образом: 'people = new ArrayList(); people.add (новые люди («Джон», «Доу»)); ... ' Если я делаю System.out в этом списке, каждая запись отображается правильно. –
Florent06