如何将此DROPDOWN菜单代码划分为servlet,dao和JSP? [英] How to divide this DROPDOWN menu codes to servlet, dao and JSP?

查看:89
本文介绍了如何将此DROPDOWN菜单代码划分为servlet,dao和JSP?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正努力避免在jsp文件中使用Java代码.但是我不知道解决方案.谁能帮我?

i am tring to avoid java code in jsp file. But i couldnt figure the solution. Can anyone help me?

JSP文件:

<select>
<%
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@localhost:1521:xe";
String username="sys as sysdba";
String password="sys";
String query="select lecturerFullname from lecturer";
Connection con=DriverManager.getConnection(url,username,password);
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(query);
while(rs.next())
{

%>

    <option><%=rs.getString("lecturerFullname") %></option>

        <%

}
%></select>
    </table>
    <%
    rs.close();
    stmt.close();
    con.close();
    }
catch(Exception e)
{
    e.printStackTrace();
    }




%></select>

这是我尝试过的... getAttribute()为jsp 中的下拉列表返回null,但我仍然找不到解决方案.我必须使用JSTL吗?我可以避免使用JSTL吗?我真的很希望有人能帮助我.谢谢!!!!

This is what i tried... getAttribute() returns null for drop down list in jsp but i still couldnt find the solution. Do i have to use JSTL? can i avoid using JSTL hehe... I REALLY REALLY HOPE SOMEONE TO HELP ME. THANK YOU!!!!

推荐答案

例如:

讲师POJO课:

class Lecturer {

    ...
    private String fullName;
    ...

   //getters and setters
}

DAO类:

class MyDAO {

   public List<Lecturer> getLecturers() {
     try{
        Class.forName("oracle.jdbc.driver.OracleDriver");
        String url="jdbc:oracle:thin:@localhost:1521:xe";
        String username="sys as sysdba";
        String password="sys";
        String query="select lecturerFullname from lecturer";
        Connection con=DriverManager.getConnection(url,username,password);
        Statement stmt=con.createStatement();
        ResultSet rs=stmt.executeQuery(query);

        List<Lecturer> list = new LinkedList<Lecturer>();

        while(rs.next()) {
            String fullname= rs.getString("lecturerFullname");
            Lecturer lec = new Lecturer();
            lec.setFullName(fullname);
            ...
            list.add(lec);
        }
     } catch(Exception e) {
     }
     return list;
   }    
}

在您的servlet中:

In your servlet:

class MyServlet {

   MyDAO myDao = ...;

   doGet() {

      List<Lecturer> list = myDoa.getLecturers();
      request.setAttribute("list",list); 

   }
}

最后是jsp文件,您需要获取列表并进行迭代. ;)

and finally in the jsp file, you need to get list and iterate over. ;)

已编辑

JSP文件:

<select>
<%
   List<Lecturer> list = (List<Lecturer>) request.getAttribute("list");
   for(Lecturer lec : list) {
%>
   <option><%=lec.getFullName()%></option>
<%
   }
%>
</select>

这篇关于如何将此DROPDOWN菜单代码划分为servlet,dao和JSP?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆