Webアプリケーション作成にあたり、primefacesを使用しようと考えています。
そこで、必要になりそうな部品の確認を行っていたのですが、
datatableでデータがうまく表示されません。(no record foundになる)
コードは以下になります。
【index.xhtml】
<?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui"> <h:head> <title>Sample</title> </h:head> <h:body> <p:dataTable var="dt1" value="#{bean.resultSet}"> <p:column headerText="管理番号"> <h:outputText value="#{dt1.No}" /> </p:column> <p:column headerText="顧客番号" > <h:outputText value="#{dt1.Kokyaku_No}" /> </p:column> <p:column headerText="種類" > <h:outputText value="#{dt1.Type}" /> </p:column> <p:column headerText="結果" > <h:outputText value="#{dt1.Result}" /> </p:column> </p:dataTable> <br /> <h:dataTable var="dt2" value="#{bean.resultSet}" border="1"> <h:column> <f:facet name="header"> <h:outputText value="管理番号"/> </f:facet> <h:outputText value="#{dt2.No}" /> </h:column> <h:column > <f:facet name="header"> <h:outputText value="顧客番号"/> </f:facet> <h:outputText value="#{dt2.Kokyaku_No}" /> </h:column> <h:column > <f:facet name="header"> <h:outputText value="種類"/> </f:facet> <h:outputText value="#{dt2.Type}" /> </h:column> <h:column > <f:facet name="header"> <h:outputText value="結果"/> </f:facet> <h:outputText value="#{dt2.Result}" /> </h:column> </h:dataTable> </h:body> </html>
【Bean.java】
package mybean; import javax.inject.Named; import javax.enterprise.context.RequestScoped; import javax.inject.Named; import java.util.ArrayList; import java.io.*; import java.util.List; import java.sql.*; import javax.annotation.PostConstruct; @Named(value = "bean") @RequestScoped public class Bean { private ResultSet rs; private Connection conn; public Bean() { } @PostConstruct public void init() { String jdbc_url = "jdbc:sqlserver://w2012-java\JAVA;databaseName=test"; String user = "sa"; String password = "P@ssw0rd"; try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); conn = DriverManager.getConnection(jdbc_url, user, password); Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); String SQL = "SELECT * FROM test"; rs = stmt.executeQuery(SQL); }catch (Exception e) { e.printStackTrace(); } } public ResultSet getResultSet(){ return rs; } }
同じResultSetを使用している、<h:dataTable ~>側は問題なく表示されます。
何か思い当たる点はあるでしょうか?
よろしくお願いいたします
[環境]
jsf2.2
primefaces 5.1
glassfish 4.1
JDK 1.8.25
NetBeans 8.0.2
ブラウザ chrome,IE11
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/02/05 07:56
2015/02/05 08:15
2015/02/08 23:43