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 ファイルで 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 に答える