- - PR -
簡単なDBプログラミングについて
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-01-05 16:30
はじめまして。
とってぃ@JAVA初心者です どなたかご教授願います。 ブラウザにDBから取得した値を表示したいのですがなかなかうまくいきません… ログには, 「org.apache.jasper.JasperException: /Disp.jsp(3,0) useBeanのクラス属性 ArrayList の値が無効です」 と表示されてることまで確認したのですが,どうすればいいのか分かりません。 また,同じことをやりたいなら,こういった方法がより実践的だよ!ということが あれば,教えてください。 ・環境 JDK1.5 TOMCAT5.5 Apache2 MySQL4 ■DbTest.html ----------------------------------------------------------------------- 〜省略〜 <FORM method="post" action="./servlet/DbTestSrv"> <INPUT type="submit" value="表示"> </FORM> 〜省略〜 ----------------------------------------------------------------------- ■DbTestSrv.java ----------------------------------------------------------------------- import javax.servlet.*; import javax.servlet.http.*; import java.io.*; import java.util.*; import java.sql.*; public class DbTestSrv extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,IOException{ try{ ServletContext sc = getServletContext(); res.setContentType("text/html; charset=Shift_JIS"); req.setCharacterEncoding("Shift_JIS"); DbSrc ds = new DbSrc(); ArrayList<DbPara> list = ds.serch(); //ログに出力 Iterator it = list.iterator(); while(it.hasNext()){ DbPara dp = (DbPara)it.next(); System.out.println(dp.getId()); System.out.println(dp.getOs()); } req.setAttribute( "list",list ); String jspStr = "/Disp.jsp"; RequestDispatcher rd = sc.getRequestDispatcher(jspStr); rd.forward(req,res); }catch(Exception e){ System.out.println(e); } } public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException{ doGet(req,res); } } ----------------------------------------------------------------------- ■DbSrc.java ----------------------------------------------------------------------- import java.sql.*; import java.util.*; class DbSrc{ private final String TABLENAME = "tips_tb"; //検索メソッド public ArrayList<DbPara> serch() throws SQLException,Exception{ String sql = "SELECT * FROM " + TABLENAME + " ORDER BY id"; DbAccess da = new DbAccess(); Statement stmt = da.getStatement(); ResultSet rs = stmt.executeQuery(sql); ArrayList<DbPara> arryList = new ArrayList<DbPara>(); //検索結果をセットする while(rs.next()){ DbPara DP = new DbPara(); DP.setId(rs.getInt("id")); DP.setOs(rs.getString("os")); arryList.add(DP); } return arryList; } } ----------------------------------------------------------------------- ■DbPara.java ----------------------------------------------------------------------- class DbPara{ private int id; private String os; public void setId(int Id){ this.id = Id; } public void setOs(String os){ this.os = os; } public int getId(){ return id; } public String getOs(){ return os; } } ----------------------------------------------------------------------- ■Disp.jsp ----------------------------------------------------------------------- <%@ page language="java" contentType="text/html; charset=Shift_JIS" %> <%@ page import="java.util.*" %> <jsp:useBean id="list" scope="request" class="ArrayList" /> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <TITLE>検索一覧</TITLE> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" contetnt="text/css"> </HEAD> <BODY> <FORM method="post" action="/TestAp/servlet/TipsSrv"> <TABLE border="1"> <TR> <% Iterator it = list.iterator(); while(it.hasNext()){ DbPara dp = (DbPara)it.next(); %> <TD><%=dp.getId() %></TD> <TD><%=dp.getOs() %></TD> </TR> <% } %> </TABLE> </FORM> </BODY> </HTML> ----------------------------------------------------------------------- | ||||||||
|
投稿日時: 2006-01-05 16:36
では? | ||||||||
|
投稿日時: 2006-01-05 17:15
>ふーばーさん
ありがとうございます エラーが変わりました。 ----------------------------------------------------------- JSPファイル: /Disp.jsp の中の16行目でエラーが発生しました 生成されたサーブレットのエラーです: DbPara cannot be resolved to a type ----------------------------------------------------------- またもや,?って感じです… ググッてみます。 | ||||||||
|
投稿日時: 2006-01-05 17:22
メッセージそのまんまです。 「そんな type (クラス) 知らないよ」ってことです。 import しないと。 | ||||||||
|
投稿日時: 2006-01-08 15:00
importに何故かやたらと手間取りましたが,なんとかできました…
ありがとうございました。 |
1