アプリケーション構成データの格納に使用されるデータベースがデータベースにあります。データベース・データを使用してJSFページにデータ表を表示する方法
これは、テーブル構造である - それは非常に単純な例です:私はこのようにテーブルのデータを表示したい
SessionTTL MaxActiveUsers
---------------------- ----------------------
30 787
:
<table border="1">
<tr>
<td>SessionTTL</td>
<td>30</td>
</tr>
<tr>
<td>MaxActiveUsers</td>
<td>787</td>
</tr>
<tr>
<td>option</td>
<td>value</td>
</tr>
<tr>
<td>option</td>
<td>value</td>
</tr>
</table>
私はこのJSFのコードを使用してデータを表示しようとしましたこのJavaコードは、私が望むものではありませんでした。
<h:dataTable id="books"
columnClasses="list-column-center,
list-column-right, list-column-center,
list-column-right" headerClass="list-header"
rowClasses="list-row" styleClass="list-
background" value="#{DashboardController.getDashboardList()}" var="store">
<h:column>
<h:outputText value="Session Timeout"/>
<h:outputText value="Maximum Logged Users"/>
</h:column>
<h:column>
<h:outputText value="#{store.sessionTTL} minutes"/>
<h:outputText value="#{store.maxActiveUsers}"/>
</h:column>
</h:dataTable>
public List<Dashboard> getDashboardList()throws SQLException{
List<Dashboard> list = new ArrayList<Dashboard>();
if(ds == null) {
throw new SQLException("Can't get data source");
}
Connection conn = ds.getConnection();
if(conn == null) {
throw new SQLException("Can't get database connection");
}
PreparedStatement ps = conn.prepareStatement("SELECT * from GLOBALSETTINGS");
try{
//get data from database
ResultSet result = ps.executeQuery();
while (result.next()){
Dashboard cust = new Dashboard();
cust.setSessionTTL(result.getString("SessionTTL"));
cust.setMaxActiveUsers(result.getString("MaxActiveUsers"));
list.add(cust);
}
}
catch(Exception e1){
// Log the exception.
}
finally{
try{
ps.close();
conn.close();
}
catch(Exception e2){
// Log the exception.
}
}
return list;
}
私が欲しいと思うようなデータですか?
ベストは、少なくとも、あなたのdataTableの正しいvalue
属性を使用する必要があり、私はすでにあなたの前の質問で述べ、いくつかの設計上の欠陥のほかに
ようこそスタックオーバーフロー!これは誰もが合意/不一致に応じて投稿に投票できるクリーンなQ&Aサイトです。これは、あなたがしようとしているように、誰もが合意/不一致の上でうんざりした形でお互いを繰り返す、古きよき伝道フォーラムではありません。私はあなたが本当に追加することが実質的でない限り、既に答えられた質問への回答を投稿しないことをお勧めします - この特定のケースではそうではないようです。良い回答を投稿することで最初に15人の代理人を獲得してください。そして、あなたは他の投稿を繰り返すのではなく、合意に基づいて投票することができます。 – BalusC