HomePage.javaJSONリストビュー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);
}
}
HomePage.javaとHomePage.htmlから、私はすることができる午前HTMLテーブルのArray(HomePage.java内)の値を出力します。 JsonTable.javaから、データベースからJSONを正常に取得しましたが、JSONをテーブルに出力する必要があります。
new JsonTable("table"); //in HomePage.java ,prints json in console -
{"schema":[{"name":"George","id":"101"},{"name":"David","id":"102"}]}
は、私は、テーブル内の別の列にname
とid
としてこれとディスプレイを解析する必要があります。 JSONを "HomePage.java"〜 "JsonTable.java"のListView
に送信してテーブルに表示するにはどうすればよいですか?
ご協力いただきますようお願い申し上げます。ありがとうございます。
ありがとう..私はあなたに説明していただけます。.. Wicketのベースを必要とします詳細..どのようにListViewに渡すjsonのオブジェクトのリストを作成するには? – Isha