2017-03-22 18 views
-1

方法の出力は、文字列のArrayListのある(方法displayPriceを含まクラスtesth既にEclipseを使用して加工される)表示内容

package classe_j; 
public class testh { 
public static ArrayList<String> displayPrice(String inputFileName, String categorie) { 

return priceP; 
} } 

今私は、次の

<%@ page contentType="text/html;charset=UTF-8" language="java" %> 
<%@ page import="classe_j.*"%> 
.......... 
<th><%=testh.displayPrice() %></th> 

として、テーブル内のArrayListの内容を表示したいが、私はエラーを得なかったが、それを実行したときに、私はSystemError enter image description here
を得ましたがこの は私が反復処理し、リストの代わりに、スクリプトレットにループするためにJSTLライブラリを使用することをお勧めします、事前

答えて

0

にありがとう行うに任意のより良い方法があります。

あなたのリストがページ属性、リクエスト属性、セッション属性、アプリケーション属性で利用可能であることを確認してから、以下のコードスニペットを使ってjspでプリントしてください。 JSTL

<c:forEach items="${list}" var="item"> 
    ${item}<br> 
</c:forEach> 

しかし、場合には、あなたはまだここにスクリプトレットと一緒に行きたいが、あなたのオプションです。

オプション1:あなたのリスト上のループ(ループ用)

オプション2:ここでは、リスト上のイテレータ(whileループ)

を使用すると、スクリプトレットではオプション1.

と実装(推奨ではありません);

<% 
List<String> list = testh.displayPrice(); 
for (int i=0;i<list.size();i++) 
      { 

       out.println(list.get(i)); 

      } %> 
+0

感謝を使用する必要があります。属性

modelMap.addAttribute("prices", testh.displayPrice("file", "category"));

ステップ2として、あなたの春model mapにリストを追加します。あなた、私はすでに 'c:foreach'を使用しようとしましたが、問題はの出力は別のクラスjava(javaクラス(testh)を含んでいたので、私はscripletを使ってメソッドを取得し、 'c:foreach'を使って反復しましたが、 displayPriceはArrayListです。arrayListに出力を格納する必要があります。その後、JSTLを使用して繰り返します。ありがとうございます。 –

+0

「出力は別のクラスのJavaにありますか?testhは内部クラスです。 – mhasan

+0

testhは何ですか? Eclipse IDEで正常に動作するクラスjavaですが、このJava Webアプリケーションで使用する必要があります。少しはっきりさせてください。 –

0

ステップ1:あなたはJSTL coreタグ

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<table> 
    <tr> 
     <th>Col1</th> 
     <th>Col2</th> 
     <!-- rest of you columns --> 
    </tr> 

    <c:forEach items="${prices}" var="list"> 
    <tr> 
     <td>${list.commodity}</td> 
     <td>${list.old_price} - ${list.new_price}</td> // you can add values in one column 
     <!-- rest of you columns data--> 
    </tr> 
    </c:forEach> 

</table> 
+0

ありがとう、コントローラを使用していません、testhはクラスですjavaには、 'c:foreach'で使用したいArrayListを返した' displayPrice'メソッドが含まれていました –

+0

あなたのプログラムの流れは表示されていません。要するに、JSTLコアタグが解析できるように、価格を指定した配列リストをリクエストパラメータに追加する必要があります。 Spring-MVCを使用している場合は、通常、ModelMapメカニズムを使用して行います。 – VHS

関連する問題