-4

我有一个包含表和值的数据库。我想获取该数据并将其显示在 jsp 页面中。不想在jsp页面中编写查询,分离java类,创建java对象值,然后在jsp的select字段中显示。请帮我...

这是我的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 username = 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 回答