1

我正在做学校项目,我需要从 jsp 文件中的数据库中以下拉格式动态显示学年、部分和介质。我正在从 java 类中获取数据库值并尝试在 jsp 中调用 tat java 方法来显示这些值,但我没有得到任何结果,我不想在 jsp 文件中写入查询。请帮助我从过去 3 天开始尝试。 ..我的java类

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>

           <%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>

编辑1:

错误信息:

> The server encountered an internal error () that prevented it from
> fulfilling this request. exception org.apache.jasper.JasperException:
> An exception occurred processing JSP page
> /Administrative/collectFees.jsp at line 93 90: <td colspan="4"><div
> id="fndiv"> 91: <%Iterator itr;%> 92: <% List data=
> (List)request.getAttribute("data"); 93: for (itr=data.iterator();
> itr.hasNext(); ){ 94: %> 95: <select name="year1" id="yr1"
> style="width: 150px;" onclick="showDetails()"> 96: <option
> value="-1">><%=itr.next()%></option> root cause
> java.lang.NullPointerException
4

3 回答 3

7

尝试

<%
java.util.List list = new EmpBean().dataList();
%>

迭代你可以使用

<select>
<%for(String txt : new EmpBean().dataList()){%>
    <option><%=txt%></option>
<%}%>
</select>
于 2012-10-18T09:38:15.377 回答
3

坚持良好的编码约定是件好事。

总结以下线程:“确实非常不鼓励在 JSP 中使用 scriptlet(那些 <% %> 东西)”

如何避免 JSP 文件中的 Java 代码?

于 2012-10-18T09:42:40.730 回答
1
<tr>
    <td><select name="" id="" style="width: 150px;"">
            <option value="-1"><%=itr.next()%></option>
    </select></td>
</tr>

你忘记了 td 标签

于 2012-10-18T09:38:16.910 回答