如何通过java类在jsp中显示值

时间:2012-10-18 05:00:46

标签: java jsp servlets

我有一个包含表和值的数据库。我想获取该数据并在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 个答案:

答案 0 :(得分: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包围整个scriptlet,那么如果发生异常就很容易找到bug ...祝你好运,不要担心,如果它不起作用我将给你样本代码,以确保我使用这个代码我的项目

答案 1 :(得分:2)

假设您的String username = String.valueOf(connect.getTasks(mysql));并且您想显示用户名然后将其存储在页面上下文中作为pageContext.setAttribute(&#34; username&#34;,username)

然后在任何地方显示或只是使用 &LT;%=将String.valueOf(connect.getTasks(MySQL的)GT;

如果我让你困惑,我没有得到你的问题而道歉 甚至更多...

玫瑰

答案 2 :(得分:1)

在Java类中,您可以创建连接并执行查询并将其存储在ArrayList中。将列表设置为会话的setAttribute函数。然后可以使用sendRedirect()方法将其重定向到jsp页面。

在实现之前,请查看此链接中的JSP核心标记http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.html。

但在此之前,您可以粘贴正在执行的代码块。

答案 3 :(得分:0)

听起来你要Hibernate

这将为您的数据库创建普通的旧Java对象。需要一些时间来适应,但这正是你所要求的。