EL方法未找到异常

时间:2013-12-06 17:00:16

标签: jsf facelets el

我正在做一个项目,需要在MySQL数据库中搜索以前的订单并在XHTML页面上显示它们。我在使用XHTML调用该方法时遇到问题,所以我认为它在我的语法中。我希望也许第二组眼睛可以提供帮助。

这是Java:

import java.sql.*;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.sql.rowset.CachedRowSet;
import javax.faces.bean.RequestScoped;
@ManagedBean
@SessionScoped
@RequestScoped

public class orderStatus {
    private String OrderNumber;
    private String EMail;

    public String SearchOrderNumber()
    {

        try
        {
            Class.forName("com.mysql.jdbc.Driver");
        }
        catch (ClassNotFoundException e)
        {
            return"internal error, the database driver is not found";
        }
        final String DATABASE_URL = "jdbc:mysql://localhost/HPLaptopWeb";

        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try
        {
            connection = DriverManager.getConnection(DATABASE_URL, "team", "secret");
            statement = connection.createStatement();
            resultSet = statement.executeQuery("SELECT * FROM orders where orderNum = '"         + OrderNumber + "'");

            if(resultSet.next())
            {
                return"showOrder";
            }
            else
            {
                return"Order Number not Valaid!";
            }

        }
        catch (SQLException e)
        {
            e.printStackTrace();
            return "Order Not Okay";
        }
        finally
        {
            try
            {
                resultSet.close();
                statement.close();
                connection.close();
            }
            catch(Exception e)
            {
                e.printStackTrace();

            }
        }
    }

    public String SearchEmail()
    {
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
        }
        catch (ClassNotFoundException e)
        {
            return"internal error, the database driver is not found";
        }
        final String DATABASE_URL = "jdbc:mysql://localhost/HPLaptopWeb";

        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try
        {
            connection = DriverManager.getConnection(DATABASE_URL, "team", "secret");
            statement = connection.createStatement();
            resultSet = statement.executeQuery("SELECT * FROM orders where email = '" + EMail + "'");

            if(resultSet.next())
            {
                return"showOrder";
            }
            else
            {
                return"Email not Valaid!";
            }

        }
        catch (SQLException e)
        {
            e.printStackTrace();
            return "Email Not Okay";
        }
        finally
        {
            try
            {
                resultSet.close();
                statement.close();
                connection.close();
            }
            catch(Exception e)
            {
                e.printStackTrace();

            }
        }

    }

    public String orderSize()
    {
        String itemsInOrder = "";

        try
        {
            Class.forName("com.mysql.jdbc.Driver");
        }
        catch(Exception e)
        {
            return("Internal Error! Database driver is not found");
        }

        //statement and connections
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try
        {
            final String DATABASE_URL = "jdbc:mysql://localhost/HPLaptopWeb";
            connection = DriverManager.getConnection(DATABASE_URL, "team", "secret");
            statement = connection.createStatement();
            //query to get how many items in order
            resultSet = statement.executeQuery("SELECT COUNT(*) FROM orders");

            if(resultSet.next())
            {
                itemsInOrder = "" + resultSet.getInt(1);
            }
        }

        catch(SQLException e)
        {
            e.printStackTrace();
            return("Internal Error! Try again later");
        }
        finally
        {
        try
        {
            statement.close();
            connection.close();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }

    }
    return itemsInOrder;
}



    public ResultSet showOrder () throws SQLException
{
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
        }
        catch(Exception e)
        {
            throw new SQLException("Unable to obtain DataSource");
        }
        final String DATABASE_URL = "jdbc:mysql://localhost/hplaptopweb";

        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try
    {
        //connection to the database
        connection = DriverManager.getConnection(DATABASE_URL, "team", "secret");
        //create statement
        statement = connection.createStatement();

        PreparedStatement getComponents = connection.prepareStatement(
                "SELECT * FROM orders");

        CachedRowSet rowSet = new com.sun.rowset.CachedRowSetImpl();
        rowSet.populate(getComponents.executeQuery());
        return rowSet;
    }
    catch(SQLException e)
    {
        e.printStackTrace();
        throw new SQLException( "Unable to connect to DataSource");
    }
    finally
    {
        try
        {
            connection.close();
            statement.close();
            resultSet.close();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}



public String getOrderNumber() {
    return OrderNumber;
}

public void setOrderNumber(String OrderNumber) {
    this.OrderNumber = OrderNumber;
}

public String getEMail() {
    return EMail;
}

public void setEMail(String EMail) {
    this.EMail = EMail;
}

}

以下是搜索订单的XHTML

    <h:form>
    <div id="OrderSearch">
    <label>Search by Order Number:</label>
    <br/>
    <h:inputText value="#{orderStatus.orderNumber}"/>
    <h:commandButton id="ONSearch" value="Search For Your Order" action="#{orderStatus.searchOrderNumber}"/>
    <br/>
    <br/>
    <label>Search by E-Mail:</label>
    <br/>
    <h:inputText value="#{orderStatus.EMail}"/>
    <h:commandButton id="EMSearch" value="Search For Your Order" action="#{orderStatus.searchEmail}"/>
    </div>
    </h:form>

非常感谢能提供的任何帮助。

0 个答案:

没有答案