2011-07-28 27 views
2

ArrayクラスのイテレータをSpringクラスからJSPに渡そうとしていますが、c:foreachループを使用しても値が表示されません。誰も助けることができますか?ここで私のSpringクラスの重要な部分があります。値がc:foreachループに表示されない

import org.springframework.ui.Model; 
import org.springframework.web.servlet.mvc.Controller; 
import org.springframework.web.servlet.ModelAndView; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 

import org.apache.commons.logging.Log; 
import org.apache.commons.logging.LogFactory; 
import java.io.IOException; 
import java.util.ArrayList; 

public class HelloWorldController implements Controller { 
    protected final Log logger = LogFactory.getLog(getClass()); 

    public ModelAndView handleRequest(HttpServletRequest request, 
      HttpServletResponse response) throws ServletException, IOException { 
     logger.info("Return View"); 
     ArrayList<RandomNumber> random = new ArrayList<RandomNumber>(); 
     for (int i = 1; i <= 10; i++) { 
      RandomNumber number = new RandomNumber(); 
      number.setNumber((int) Math.random() * 100); 
      random.add(number); 
     } 
     ModelAndView modelAndView = new ModelAndView("helloworld.jsp"); 
     Model model = (Model) modelAndView.getModel(); 
     model.addAllAttributes(random); 
     return modelAndView; 
    } 
} 

ここは私のJSPの関連部分です。

<table> 
<c:forEach var="random" items="${random}"> 
<tr><td>${random.number}</td></tr> 
</c:forEach> 
</table> 
+0

:次にようにJSPを変更する(VAR名のノートrandomrandomsコレクションとの重複を避けます) 、random) 'を返すか、' ModelAndView'を返す前に何か? 'Iterator'を設定するのではなく、' Collection'全体を設定する必要があります。 – BalusC

答えて

1

私は行を変更したい:

model.addAllAttributes(random); 

へ:

model.addObject("randoms", random); 

あなたは今文脈における "randoms" 属性(名前に 's' を追加することがありますが私はvar命名法と信じている別の問題を解決するために)。私は春のMVCを行いませんが、おそらくあなたは `model.addAttribute(「ランダム」をやるべき

<c:forEach var="random" items="${randoms}"> 
+0

助けてくれてありがとう。私の主な問題は、基本的にJSP、Springコントローラクラス、RandomNumberクラスがあり、コントローラクラスを実行せずにJSPクラスを直接実行しようとしていることです。私はテストしましたが、ArrayListが作成されていないように見えます。これは、コントローラーで何も実行されていないと思わせてしまいます。私は基本的な春を磨き上げていると思います。それは私がやることです。他の問題があればここに戻ってきます。誰もが親切に助けてくれてありがとう。 –

関連する問題