HomePage.javaJson in Listview WICKET
public class HomePage extends WebPage {
private static final long serialVersionUID = 1L;
public HomePage()
{
new JsonTable("table"); //prints json from database in console- {"schema":[{"name":"George","id":"101"},{"name":"David","id":"102"}]}
//get JSON here and display it in ListView
List userList = Arrays.asList(
new User[] {
new User("FirstA", "LastA"),
new User("FirstB", "LastB"),
new User("FirstC", "LastC")
});
add(new ListView("listview", userList) {
protected void populateItem(ListItem item) {
User user = (User) item.getModelObject();
item.add(new Label("firstname", user.getFirstname()));
item.add(new Label("lastname", user.getLastname()));
}
});
}
}
public class User {
String _first, _last;
public User(String _first, String _last) {
this._first = _first;
this._last = _last;
}
public String getFirstname() { return _first; }
public String getLastname() { return _last; }
}
homepage.html
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>
<body>
<div class="panel panel-default">
<div class="panel-heading">Heading</div>
<table class="table">
<tr wicket:id="listview">
<td><span wicket:id="firstname"></span></td>
<td><span wicket:id="lastname"></span></td>
</tr>
</table>
</div>
</body>
</html>
JsonTable.java
public class JsonTable extends BasePage {
public JsonTable(String id) {
System.out.println("In Constructor");
String query="select row_to_json(t) from "
+ "(select array_to_json(array_agg(row_to_json(t))) as schema from (select name, type from sample) t) t";
//System.out.println(query);
JsonToWidget widget=new JsonToWidget();
//System.out.println(widget);
JSONObject json=widget.getJsonForTableContent(query);
System.out.println(json);
}
}
Von HomePage.java und homepage.html, ich bin in der Lage zu Werte aus Array (in HomePage.java) in der HTML-Tabelle ausgeben. Von JsonTable.java, habe ich erfolgreich JSON aus der Datenbank abgerufen, aber ich muss den JSON in einer Tabelle drucken.
new JsonTable("table"); //in HomePage.java ,prints json in console -
{"schema":[{"name":"George","id":"101"},{"name":"David","id":"102"}]}
Ich brauche dies und Display als name
und id
in separaten Spalten in der Tabelle zu analysieren. Wie kann ich JSON in "HomePage.java" über "JsonTable.java" an ListView
senden und in der Tabelle anzeigen?
Jede Hilfe wäre willkommen, danke im Voraus.
Danke .. ich brauche Wicket Based .. können Sie mir bitte erklären, in detail..wie erstellt man eine Liste von Objekten in json, die an ListView übergeben werden? – Isha