Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

jsf2.0 オラクル接続

java初心者ですが、netや本を参考に、jsfでオラクル接続を行っています。

netbeans6.9 にて開発を行っています。

接続迄は出来たのですが、webページ表示でエラーが出てしまいます。

webページに "転送専用の結果セットに対する操作が無効です" と表示されます。

存在しないテーブル名でsqlを発行した場合は、データはもちろん出ませんが
エラーは出ません。dataTableのヘッダだけ表示されます。

調べたのですが、原因がつかめず教えてください。

宜しくお願い致します。


*** web.xml ***


<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>faces/display.jsp</welcome-file>
    </welcome-file-list>
</web-app>


***** display.jsp *****


<%@ page contentType="text/html;charset=Shift_JIS" %>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <title>test</title>
    </head>
    <body>
        <f:view>
            <h:dataTable id="tb1" headerClass="hd" columnClasses="col,col" border="0" var="item" value="#{data.resultSet}">
                <h:column>
                    <f:facet name="header">
                    <h:outputText value="data1"/>
                    </f:facet>
                    <h:outputText id="id1" value="#{item.data1"/>
                </h:column>
                <h:column>
                    <f:facet name="header">
                    <h:outputText value="data2"/>
                    </f:facet>
                    <h:outputText id="id2" value="#{item.data2"/>
                </h:column>
            </h:dataTable>
        </f:view>
    </body>
</html>


***** data.java *****


package mybean;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

import java.io.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

@ManagedBean(name="data")
@RequestScoped

public class data implements Serializable{

    ResultSet resultSet;    
    private Connection connection;

    public data(){
    }
    public ResultSet getResultSet(){
        open();
        search();
        return resultSet;
    }
    private void open(){
        try
        {
            Class.forName("oracle.jdbc.driver.OracleDriver");
            connection=DriverManager.getConnection
                    ("jdbc:oracle:thin:@localhost:1521:aaa","aaa","aaa");
        }catch(Exception e){}
    }
    private void search(){
        try
        {
            Statement statement=connection.createStatement();
            String sql="SELECT * FROM TABLE1";
            resultSet = statement.executeQuery(sql);
        }catch(Exception e){}
    }
}

0

回答

5630

閲覧

0件の回答

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。