Java初心者のためのMVCモデル JSPエラーの解決方法

このQ&Aのポイント
  • Java初心者の者がMVCモデルに挑戦中ですが、JSPの部分でエラーが発生しています。
  • JSPファイルに何か記述する必要がありますが、具体的に何を記述すれば良いのか分かりません。
  • 質問文章の最後には、JyushoServletとJyushoBeanクラスに関連するコードも含まれています。
回答を見る
  • ベストアンサー

長文失礼致します。Java初心者の者です。

MVCモデルに挑戦しているのですが、JSPの部分でエラーが出ます。 何か足りない気はするのですが、何を記述したら良いのか分かりません。 以下、一部抜粋です。 //JSP <%@ page contentType="text/html; charset=Windows-31J" %> <%@ page import="java.util.*"%> <%@ page import= "jp.co.xxx.bean.Jyusho" %> <jsp:useBean id="LIST" class="java.util.ArrayList" scope="request"/> //ここに何か記述しないといけない気がします。 <html><body> <TABLE BORDER="1"> <TR><TD><b>NO</b></TD><TD><b>名前</b></TD><TD><b>住所</b></TD><TD><b>電話番号</b></TD></TR> <TR> <TD><%=LIST.getNo() %></TD> <TD><%=LIST.getName()%></TD> <TD><%=LIST.getAddress()%></TD> </TR> </TABLE></body></html> //JyushoServlet public class JyushoServlet extends HttpServlet {  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try{Jyusho jyusho = new Jyusho(); List list = Jyusho.list(); request.setAttribute("LIST", list);} catch(Exception e){ e.printStackTrace(); } finally{ ServletContext context = this.getServletContext(); RequestDispatcher dispatcher = context.getRequestDispatcher("/jyusho.jsp"); dispatcher.forward(request, response);} } } //JyushoBean public String getAddress() { return address;} public void setAddress(String address) { this.address = address;} public String getNo() { return no;} public void setNo(String no) { this.no = no;} public String getName() { return name;} public void setName(String name) { this.name = name;} //Jyusho List list = new ArrayList(); while(resultSet.next()){ JyushoBean bean = new JyushoBean(); bean.setNo(resultSet.getString("NO")); bean.setName(resultSet.getString("NAME")); bean.setAddress(resultSet.getString("ADDRESS")); list.add(bean);} return list;} public List list(String no)throws ClassNotFoundException, SQLException{ List list = new ArrayList(); Iterator it = list().iterator(); while(it.hasNext()){ JyushoBean bean = (JyushoBean)it.next(); if(bean.getNo().equals(no)){ list.add(bean);} }return list;} } お手数ですが、ご教授お願い致します。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.1

>JSPの部分でエラーが出ます。 とありますが、具体的なエラーの内容を書かないとわからないです。 コンパイルエラーなのか、実行時エラーなのか、どんな内容のエラーなのか。 とりあえず、 ><%=LIST.getNo() %> の部分ですが、LISTはArrayList型なのでgetNo()というメソッドはありませんよね。 JSTLやスクリプトレットなどを使ってLISTのループしてJyushoBeanのインスタンスを取得して、 そのインスタンスに対してgetNo()しなければいけないのではないでしょうか。

mew-ktrk
質問者

お礼

ご指摘有難うございました。 以下のように訂正することで、一覧を表示することに成功しました。 <%@ page contentType="text/html; charset=Windows-31J" %> <%@ page import="java.util.*"%> <%@ page import= "jp.co.xxx.bean.Jyusho" %> <jsp:useBean id="LIST" class="java.util.ArrayList" scope="request"/> <html> <body> <CENTER> <b>住所録一覧</b><BR><BR> <TABLE BORDER="1"> <TR><TD><center><b>NO</b></center></TD><TD><center><b>名前</b></center></TD><TD><center><b>住所</b></center></TD><TD><center><b>電話番号</b></center></TD></TR> <TR> <% ArrayList array = (ArrayList)request.getAttribute( "LIST"); for( int i=0; i<array.size(); i++ ) { JyushoBean bean = (JyushoBean) array.get(i); %> <TR> <TD><%=(String)bean.getNo()%></TD> <TD><%=(String)bean.getName()%></TD> <TD><%=(String)bean.Address()%></TD> </TR> <% } %> </TABLE> </CENTER> </body> </html> そこで、もう1つ質問をさせて下さい。 表示したデータから任意のデータ(名前)を選択し、そのデータのみを表示したいのですが、 JSPではどのような処理を加えればよいのでしょうか? ちなみに選択はselectタグを使用して、 <form action="web/app/list"method="post"> <HR> <select name="no"> <option value="山田太郎">山田太郎</option> <option value="山田次郎">山田次郎</option> <option value="山田三郎">山田三郎</option> </select> <input type="submit"value="検索"> </form> ↑このように記述してみました。 また、サーブレットの方は protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try{ String no request.getParameter("no"); Jyusho jyusho = new Jyusho(); List list = Jyusho.list(); List searchList = Jyusho.list(no); request.setAttribute("LIST_SELECT", list); request.setAttribute("LIST", searchList); } catch(Exception e){ e.printStackTrace(); } finally{ ServletContext context = this.getServletContext(); RequestDispatcher dispatcher = context.getRequestDispatcher("/jyusho.jsp"); dispatcher.forward(request, response); 上記の記述を追加しております。 度々申し訳ありません。 独学で学んでいるのですが、JSPの仕組みがなかなか理解できないもので…。

関連するQ&A

  • 検索結果受け渡し

    今、MVCで、検索ページを作っています。 そこで、検索結果のデータをうまくjsp に渡せなくて困っています。 検索結果が、1件の場合は、 /*SampleBean.java*/ while(resulteset.next()){ String name = resulteset.getString("name"); String sei = resulteset.getString("last"); } public String getName(){return(name)}; public String getSei(){return(sei)}; などとした時に、 jsp では、 <table border="1"> <tr><td>名前</td>   <td>姓</td> </tr> <tr><td><jsp:getProperty name="SampleBean" property="Name"/> </td> <td>jsp:getProperty name="SampleBean" property="Sei"/> </td> </tr> とすると、jsp で結果取得できますが、 では、 *SampleBean.java*/ while(resulteset.next()){ String name = resulteset.getString("name"); String sei = resulteset.getString("last"); } での結果が複数ある場合には、どうのような処理を施したら 良いのでしょうか? 何分、略したコードですが、ご教授よろしくお願いします。  

    • ベストアンサー
    • Java
  • JSPでのArrayListの表示について困っています

    以下のようにしてスレッドNoが同じものだけ表示したいと考えております。 servletの「text」という変数にはすべての値が格納されているところまでは確認できました。 それをJSPにて表示したいのですが、どのようにすれば出力されるのかわかりません。 どなたかお教えいただければと思います。 宜しく御願い致します。 --------------------------------------------------------- java /** * *TEXTテーブルからスレッドNoが同じものを返すメソッド * * */ public ArrayList selecttext(int no)throws SQLException{ ArrayList<Textbeen> list = new ArrayList<Textbeen>(); TextDAO kei =new TextDAO(); Connection db=kei.createConnection(); Statement sttSql=db.createStatement(); ResultSet rs=sttSql.executeQuery("SELECT * FROM TEXT WHERE KB_TH_NO='"+no+"' "); while(rs.next()){ String name=rs.getString("KB_NAME"); String tino =rs.getString("KB_TITLE_NO"); String title = rs.getString("KB_TITLE"); String mail = rs.getString("KB_MAIL"); String text = rs.getString("KB_TEXT"); String pass = rs.getString("KB_TITLE_PASS"); String date = rs.getString("KB_TIME"); int th_no = rs.getInt("KB_TH_NO"); Textbeen thread = new Textbeen(name, title, tino, mail, text, pass, date, th_no); //TO(Threadオブジェクト)を、保持するリストに追加 list.add(thread); } kei.closeConnection(db); return list; } ---------------------------------------------------------- servlet ArrayList text = new ArrayList(); try{ text = list.selecttext(TH_no); } catch(Exception e){ e.getStackTrace(); } request.setAttribute("test", text); String nextPage = "/view/user/ThreadTop.jsp"; ----------------------------------------------------------

  • DBを10件毎に表示ページング処理方法

    度重なる質問申し訳ありません。 現在DB操作について学んでいるJava独学者です。 下記のようなソースで一覧表示画面を作成してみました。 この一覧画面をページング処理したいのですが、その方法がよく分からず頭を抱えています。 期待する結果は以下の通りです。 (1)DBの内容を10件ごとに表示し、「Back」「Next」のリンクを使って画面を移動する。 (2)次(もしくは前)に表示する10件がない場合は上記のリンクを非表示としたい。 ※ちなみにDBはPostgreSQLを使用しております。 下記はソースの一部です。 **Srvlet** if(button != null && button.equals("一覧")){ target = "/list.jsp"; CList cList = new CList(); List list = cList.list(); request.setAttribute("SELECT", list); } **JSP** <%@page contentType="text/html; charset=Windows-31J" %> <%@page import="java.util.*" %> <%@page import="XXXX.bean.Bean" %> <%@page import="XXXX.service.CList" %> <%@page import="XXXX.service.Search" %> <jsp:useBean id="SELECT" class="java.util.ArrayList" scope="request"/> <HTML> <HEAD> //省略// </HEAD> <BODY> <BR> <% ArrayList array = (ArrayList)request.getAttribute("SELECT"); for(int i=0 ; i<array.size() ; i++){ Bean bean = (Bean)array.get(i); %> <TR> <TD><INPUT type="radio" name="radio" value="<%= (int)bean.getId() %>" <%= bean == array.get(0) ? "checked" : ""%>></TD> <TD><%= (int)bean.getId() %></TD> <TD><%= (String)bean.getName() %></TD> <TD><%= (String)bean.getTel() %></TD> </TR> <%} %> </TABLE> </TD> </TR> </TABLE> </FORM> </DIV> <a href=""> <font color="#0000ff"><b>Back</b></font></a> <a href=""> <font color="#0000ff"><b>Next</b></font></a> **CList.java** DBAccess db = new DBAccess(); db.open(); String SQL = "SELECT*FROM LIST ORDER BY ID ASC;"; db.setSql(SQL); ResultSet rs=db.select(); List list = new ArrayList(); while (rs.next()) { Bean bean = new Bean(); bean.setId(rs.getInt("ID"));                   bean.setName(rs.getString("NAME")); bean.setTel(rs.getString("TEL")); list.add(bean); } rs.close(); db.close(); return list; } } 色々調べた結果、SQL文を使う方法とArrayList等に格納する方法があるようですが、 どちらも良く理解出来ませんでした。 勉強不足で申し訳ありませんが、ご教授お願いいたします。

  • java strutsでの一覧表の表示方法について

    以下の内容でロジックを組んだのですが、 jspより表示される一覧表は、003 name3が3件表示されてしまいます。 一覧表を正しく表示できない原因を教えてください。 SP0010_FORM_Bean.java public class SP0010_FORM_Bean { protected String id; protected String name; public void setId(String s) { id = s; } public String getId() { return id; } public void setName(String s) { name = s; } public String getName() { return name; } } SP0010_FORM.java public class SP0010_FORM extends ValidatorForm{ protected List<SP0010_FORM_Bean> loopList; public void setLoopList(List<SP0010_FORM_Bean> list) { loopList = list; } public List<SP0010_FORM_Bean> getLoopList() { return loopList; } } SP0010_ACTION_10.java SP0010_FORM initBean = new SP0010_FORM(); request.setAttribute("list_form", initBean); List<SP0010_FORM_Bean> list = new ArrayList<SP0010_FORM_Bean>(); SP0010_FORM_Bean bean1 = new SP0010_FORM_Bean(); bean1.setId("001"); bean1.setName("name1"); list.add(bean1); bean1.setId("002"); bean1.setName("name2"); list.add(bean1); bean1.setId("003"); bean1.setName("name3"); list.add(bean1); initBean.setLoopList(list); jsp <table border="1"> <logic:iterate id="loop" name="list_form" property="loopList"> <tr> <td><bean:write name="loop" property="id" /></td> <td><bean:write name="loop" property="name" /></td> </tr> </logic:iterate> </table>

    • ベストアンサー
    • Java
  • JSPとjavaの問題

    ResultSet rs = db.getResultSet("SELECT * FROM SHAINLIST "); ArrayList list = new ArrayList(); while(rs.next()) { int state = rs.getInt("attendance"); list.add(new Integer(state)); } int[] in = new int[list.size()]; for (int i = 0; i < list.size(); i++) { in[i] = ((Integer)list.get(i)).intValue(); } %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>JSPでDB接続</title> </head> <body> <table> <tr><td>欠席</td><td>><%= countNum(-1, in) %></td></tr> <tr><td>未定</td><td><%= countNum(-1, in) %></td></tr> <tr><td>出席</td><td><%= countNum(-1, in) %></td></tr> </table> 以下のエラーがでてきますが、どういう意味でしょうか。 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: JSPファイル: /jsp/tokei.jsp の中の26行目でエラーが発生しました The method countNum(int, int[]) is undefined for the type tokei_jsp 23: </head> 24: <body> 25: <table> 26: <tr><td>キ鄲ハ</td><td>><%= countNum(-1, in) %></td></tr> 27: <tr><td>フ、ト�</td><td>3</td></tr> 28: <tr><td>スミタハ</td><td>3</td></tr> 29: </table> よろしくおねがいします。

    • ベストアンサー
    • Java
  • jspでの表示の仕方

    下記のような、jspへの受け渡しができずにいます。 ご回答お願いします。 Servletは、 String query = "SELECT * FROM test"; ResultSet resultset = statement.executeQuery( query ); request.setAttribute("obj",resultset); ServletContext context = getServletContext(); RequestDispatcher rd = context.getRequestDispatcher("/kekka.jsp"); rd.forward(request,respons); とした時、jsp側で、 <%@ page contentType="text/html;charset=Shift_JIS" %> <%@ page import = "java.sql.*" %> <%! ResultSet rs = (ResultSet)request.getAttribute("obj"); %> <% While(rs.next()){String hinmei = rs.getString("hinmei");} %> <html> <head> <title>JSP</title> </head> <body> <table border="0"> <tr> <td><%=hinmei%></td> </tr> </table> </body> </html> と、したいのですが、白い画面になりjspの表示ができません。 やはり、ResultSetオブジェクトのAttributeはできないのでしょうか? それとも、jspの構文に問題があるのでしょうか? Vector、Stringは、この形のやり方で表示できたのですが・・・。 間違いを指摘してください。 よろしくお願いします。

    • ベストアンサー
    • Java
  • ページング処理について

    http://okwave.jp/qa/q6410907.html 以前↑の内容を投稿したものです。 解決に至らなかった為、再投稿させて頂きます。 ArrayListに格納する方法を使って一覧表示に ページング処理を加えたいのですが、その方法がよく分からず頭を抱えています。 期待する結果は以下の通りです。 (1)DBの内容を10件ごとに表示し、「Back」「Next」のリンクを使って画面を移動する。 (2)次(もしくは前)に表示する10件がない場合は上記のリンクを非表示としたい。 下記はソースの一部です。 **Srvlet** if(button != null && button.equals("一覧")){ target = "/list.jsp"; CList cList = new CList(); List list = cList.list(); HttpSession. session=request.getSession(); session.setAttribute("SELECT", list); } **JSP** //省略// <BODY> <BR> <% ArrayList array = (ArrayList)session.getAttribute("SELECT"); for(int i=0 ; i<array.size() ; i++){ Bean bean = (Bean)array.get(i); %> <TR> <TD><INPUT type="radio" name="radio" value="<%= (int)bean.getId() %>" <%= bean == array.get(0) ? "checked" : ""%>></TD> <TD><%= (int)bean.getId() %></TD> <TD><%= (String)bean.getName() %></TD> <TD><%= (String)bean.getTel() %></TD> </TR> <% if(i==4){ break;} %> <%} %> </TABLE> </TD> </TR> </TABLE> </FORM> </DIV> <a href="list.jsp?list=1"> <font color="#0000ff"><b>Back</b></font></a> <a href="list.jsp?list=2"> <font color="#0000ff"><b>Next</b></font></a> 変数iをbreakすることで5件までの表示に成功しました。 情報を記憶出来ているとは思うのですが NEXT・BACKに飛ぶと同じ情報が保持されたままとなっています。 何か前後の情報を格納しないと期待する処理は行われないと思うのですが、 その部分でまた詰まってしまいました・・・。 アドバイス等御座いましたらお願いいたします。

    • ベストアンサー
    • Java
  • jsp、サーブレットの質問です。

    Tomcatを使用してjspとサーブレットを使い掲示板のような投稿サイトもどきを作成していますが解決できない部分があります。 ↓は表示用のjspです♪ <html> <head> <title>Insert title here</title> </head> <body> <% String lsts = (String)request.getAttribute("lst"); %> <table border="4"> <tr> <td>日時</td> <td>タイトル</td> <td>スレッド主</td> <td></td> </tr> <tr> <td><%for(int i = 0; i<lsts.length(); i++){ out.println(lsts); } %> </td> <td><%out.println(); %></td> <td><%out.println("");%></td> <td> </td> </tr> </table> </form> </body> </html> こちらがサーブレットです otected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /*DB接続処理は省略します*/ try{ ps = (PreparedStatement) con.prepareStatement(sql); String sql = "select * from thred"; ResultSet rs = ps.executeQuery(); //テーブル内一覧取得 while(rs.next()){ rs.getString("time"); rs.getString("title"); rs.getString("id"); rs.getString("thredid"); String s = (rs.getString("time")+","+ rs.getString("title")+","+rs.getString("id")); String[] lsts = s.split(","); List<String> thlists = Arrays.asList(lsts); String ss = (thlists.get(0)); request.setAttribute("thlst",ss); RequestDispatcher dispatcher= request.getRequestDispatcher("/list.jsp"); dispatcher.forward(request,response); } }catch(SQLException e){ e.printStackTrace(); } catch(ClassNotFoundException e){ e.printStackTrace(); }finally{ try { con.close(); } } } jspの方にサーブレットでthredDBから抜き取ったtimeとtitleとidを全て表示させたいのですが 現状だと 2014-06-03 06:45:02  aaaa 1 の行だけがたくさん表示されてしまいます 恐らくスコープを取得した時点でこの↑の1行のものしかとれてこれていないのだと思います... どのように処理を行ったらよいのでしょうか? DBの中身は画像添付いたしますっ

  • JavascriptとJavaの文字列引き渡し

    JSPを使ってJavaメソッドを呼び出しそのリターン値として文字列(String)を受け取るコードを動かしたのですが(ServerはTomcat8)、受け取り側のJavascriptでは、objectとなってしまい、toString()メソッドを通してもobjectのままになってしまいます(alert()関数で確認)。以下に関係コードの抜粋を "Member.java"のクラスメソッド部 public static ArrayList listup() throws Exception { ArrayList result = new ArrayList(); InitialContext initCon; DataSource ds; Connection con; Statement stmt; ResultSet rs; try { initCon = new InitialContext(); } catch(Exception e) { throw(new Exception("Can\"t get legal context.")); } ds = (DataSource)initCon.lookup("java:comp/env/jdbc/bar"); con = ds.getConnection(); stmt = con.createStatement (); rs = stmt.executeQuery ("SELECT * FROM member ORDER BY id;"); Member aMember; while(rs.next()) { aMember = new Member(); aMember.setId(rs.getInt("id")); aMember.setFirst_name(rs.getString("first_name")); aMember.setLast_name(rs.getString("last_name")); aMember.setBirthday(rs.getString("birthday")); result.add(aMember); } rs.close(); stmt.close(); con.close(); return result; } public static String tojson(ArrayList list) { String result = new String(); int i = 0; result = result + "{\"member\":["; while( i<list.size()) { Member aMember = (Member)list.get(i++); result = result + "{"; result = result + "\"id\" : \"" + aMember.getId() + "\"," ; result = result + "\"first_name\" : \"" + aMember.getFirst_name() + "\"," ; result = result + "\"last_name\" : \"" + aMember.getLast_name() + "\"," ; result = result + "\"birthday\" : \"" + aMember.getBirthday() + "\"}" ; } result = result + "]}"; return result; "index.jsp" <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="com.silane.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8)"> <title>メンバー一覧</title> <script type="text/javascript"> <!-- function showMember(list) { var obj = JSON.parse(list); // var obj = JSON.parse('{"member":[{"id" : "0","first_name" : "name","last_name" : "hogehoge","birthday" : "19841116"}]} '); alert("reach"); alert(obj.member.length); for( i=0; i<obj.member.length; i++) { document.write("<TR>"); document.write("<TD>"+obj.member[i].id+"</TD>"); document.write("<TD>"+obj.member[i].last_name+"</TD>"); document.write("<TD>"+obj.member[i].first_name+"</TD>"); document.write("</TR>"); } } // --> </script> </head> <body> <%=Member.tojson(Member.listup()) %> <TABLE> <TR><TH>ID</TH><TH>姓</TH><TH>名</TH></TR> <script type="text/javascript"> var list="'"+<%=Member.tojson(Member.listup()) %>+"'"; showMember(list); </script> </TABLE> </body> </html> 結果としてですが、alert("reach");まで行かないのJSON.parese()がうまく実行できていないのだと考えています。 どうすればよいでしょうか?ご教授をお願いいたします。

  • メソッド オーバーロード ete

    こんにちは 今オーバーロードやメソッドについて学習中です 今回作成したのはDB接続の 処理をするほうのクラスなのですが 同じソースはひとつにまとめろといわれました 自分なりに メソッドを作ってまとめてみたのですが まだだめなようです あとどのようにまとめれば 良いとおもいますか? 例文なども出していただけると助かります 一部ソースのせます public String[][] selectExec(String sql, int fromIdx) throws SQLException{ Statement smt = con.createStatement(); //ステートメントオブジェクト作成 SQL文を送るために作成 ResultSet aa=smt.executeQuery(sql); //SQLから要素取得 ArrayList<String> TESTNO = new ArrayList<String>(); //TESTNO用のArrayList作成 ArrayList<String> NAME = new ArrayList<String>(); //NAME用 ArrayList<String> KANA = new ArrayList<String>(); //KANA用 aa.relative(fromIdx-1); //カーソルの位置を移動 while(aa.next()){ TESTNO.add(aa.getString("TESTNO")); NAME.add(aa.getString("NAME")); KANA.add(aa.getString("KANA")); } aa.close(); //使い終わったリザルトクローズ smt.close(); //ステートメントクローズ      //オブジェクトの解放 hairetu(TESTNO,NAME,KANA); //配列に収納するメソッド呼び出し return hairetu(TESTNO,NAME,KANA); } /* * すべての行を取得 */ public String[][] selectExec(String sql) throws SQLException{ Statement smt = con.createStatement(); //ステートメントオブジェクト作成 SQL文を送るために作成 ResultSet aa=smt.executeQuery(sql); //SQLから要素取得 ArrayList<String> TESTNO = new ArrayList<String>(); //TESTNO用ののArrayList作成 ArrayList<String> NAME = new ArrayList<String>(); //KAME用 ArrayList<String> KANA = new ArrayList<String>(); //KANA用 while(aa.next()){ //Resultsetが最終行になるまで実行 TESTNO.add(aa.getString("TESTNO")); NAME.add(aa.getString("NAME")); KANA.add(aa.getString("KANA")); } aa.close(); //使い終わったリザルトクローズ smt.close(); //ステートメントクローズ      //オブジェクトの解放 return hairetu(TESTNO,NAME,KANA); } /* * 指定された行から行を取得 */ public String[][] selectExec(String sql, int fromIdx,int toIdx) throws SQLException{ Statement smt = con.createStatement(); //ステートメントオブジェクト作成 SQL文を送るために作成 ResultSet aa=smt.executeQuery(sql); //SQLから要素取得 ArrayList<String> TESTNO = new ArrayList<String>(); //TESTNO用ののArrayList作成 ArrayList<String> NAME = new ArrayList<String>(); //NAME用 ArrayList<String> KANA = new ArrayList<String>(); //KANA用 aa.relative(fromIdx); while(fromIdx<=toIdx){ TESTNO.add(aa.getString("TESTNO")); NAME.add(aa.getString("NAME")); KANA.add(aa.getString("KANA")); aa.next(); fromIdx++; } aa.close(); //使い終わったリザルトクローズ smt.close(); //ステートメントクローズ      //オブジェクトの解放 return hairetu(TESTNO,NAME,KANA); } public String[][] hairetu(ArrayList T,ArrayList N ,ArrayList K){ String[][]all=new String[3][T.size()]; all[0] = (String[])T.toArray(new String[0]);//配列TSETNOに収納 all[1] = (String[])N.toArray(new String[0]);//配列NAMEに収納 all[2] = (String[])K.toArray(new String[0]);//配列KANAに収納 return all; }/* リストから配列に収納するメソッド。 配列でリターンします */ 下のhairetuメソッドはあとから作成しました。 もうひとつ作ったのですが TEST(TESTNO,aa,"TESTNO"); TEST(NAME,aa,"NAME"); TEST(KANA,aa,"KANA"); 呼び出し↑ メソッド public ArrayList TEST(ArrayList T,ResultSet a ,String s) throws SQLException{ T.add(a.getString(s)); // リストにSQL文を収納 return T; } これは却下されました 見づらいとは思いますが いろいろアドバイスください

    • ベストアンサー
    • Java

専門家に質問してみよう