-4

テーブルと値を持つデータベースがあります。そのデータを取得してjspページに表示したい。JSP ページにクエリを記述したくない場合は、Java クラスを分離し、Java オブジェクトの値を作成してから、それを JSP の選択フィールドに表示します。私を助けてください...

ここに私のJavaクラスpがあります

ublic class EmpBean {
                    public java.util.List dataList(){
                        ArrayList list=new ArrayList();
                        try{
                             Class.forName("driver");
                                   Connection con = DriverManager.getConnection("url", "user", "pwd");
                                   Statement st=con.createStatement();
                                   System.out.println("hiiiii");
                                   ResultSet rs=st.executeQuery("select * from employee");
                                   while(rs.next()){
                                       list.add(rs.getString("name"));
                                       list.add(rs.getString("address"));
                                       list.add(rs.getString("contactNo"));
                                       list.add(rs.getString("email"));


                        }
                                   System.out.println(rs.getString("contactNo"));
                        }
                        catch(Exception e){}
                        return   list;

                        }

                }

//and my jsp file
                <%@page language="java" import="java.util.*" %>
                <html>
                <body> 
                <table border="1" width="303">
                <tr>
                <td width="119"><b>Name</b></td>

                </tr>
                <%Iterator itr;%>
                <%EmpBean p = new EmpBean();
                List list= (List) p.dataList(); %>
                for (itr=list.iterator(); itr.hasNext(); ){
                %>
                <tr>
                <select name="" id="" style="width: 150px;"">
                                <option value="-1"><%=itr.next()%></option>
                </select>

                </tr>
                <%}%>
                </table>
                </body>
                </html>
4

4 に答える 4

4

私はあなたがこれを試してみるべきだと思います

    public class EmpBean {
                public java.util.List dataList(){
                    ArrayList list=new ArrayList();
                    try{
                         Class.forName("driver");
                               Connection con = DriverManager.getConnection("url", "user", "pwd");
                               Statement st=con.createStatement();
                               System.out.println("hiiiii");
                               ResultSet rs=st.executeQuery("select * from employee");
                               while(rs.next()){
                                   list.add(rs.getString("name"));
                                   list.add(rs.getString("address"));
                                   list.add(rs.getString("contactNo"));
                                   list.add(rs.getString("email"));


                    }
                               System.out.println(rs.getString("contactNo"));
                    }
                    catch(Exception e){}
                    return   list;

                    }

            }

このクラスが正常に動作し、何らかの値を持つリストを返していると仮定します

今あなたのjspページに

           <%@page language="java" import="java.util.*" %>
            <html>
            <body> 
            <table border="1" width="303">
            <tr>
            <td width="119"><b>Name</b></td>

            </tr>
            <%
                  ArrayList list;
                  EmpBean emp = new EmpBean();
                  list = emp.dataList();
                  ArrayList li = (ArrayList) li.get(0);

            %>
            <tr>
            <select name="" id="" style="width: 150px;"">
                            <option value="-1"><%=li.get(1)%></option>
            </select>

            </tr>

            </table>
            </body>
            </html>

このコードを確認してください...ここでフェッチされた値が間違っている可能性がありますリストのインデックスを変更して値を確認し、スクリプトレット全体をtry catchで囲むことができるかどうかを確認して、例外が発生した場合にバグを見つけやすくします...頑張ってください。うまくいかなくても心配しないでください。プロジェクトでこのコードを使用していることを確認するためのサンプルコードを提供します。

于 2012-10-18T13:11:54.657 に答える
2

String ユーザー名 = String.valueOf(connect.getTasks(mysql)); とします。ユーザー名を表示し、それを pageContext.setAttribute( "username", username ) としてページ コンテキストに格納する必要がありました。

次に、任意の場所に表示するか、単に <%=String.valueOf(connect.getTasks(mysql)> を使用)

私はあなたの問題を理解していません。さらに混乱させてしまったら申し訳ありません...

バラ

于 2012-10-18T05:26:28.270 に答える
1

Java クラスでは、接続を作成してクエリを実行し、それを ArrayList に格納できます。リストをセッションの setAttribute 関数に設定します。その後、sendRedirect() メソッドを使用して、jsp ページにリダイレクトできます。

これを実装する前に、このリンク http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.html で JSP のコア タグを調べてください。

しかし、これらすべてを実行する前に、実行中のコード ブロックを貼り付けることができます。

于 2012-10-18T05:41:27.857 に答える
0

Hibernateを求めているようです。

これにより、データベース用の単純な古い Java オブジェクトが作成されます。慣れるまで少し時間がかかりますが、まさにあなたが求めているものです。

于 2012-10-18T05:21:36.010 に答える