2009-04-28 20 views
0

こんにちはこれは簡単な質問ですが、うまくいかないようです。JSPから出力ベクトルをJSPに取り込み、

私はjspからベクトルを取り込んでいます。 (ベクトルに要素が含まれていることを確認しました)

今、同じベクトルの内容を同じjspに出力します。

いくつかのコードのためのテイクアウトはありますか?

+3

あなたが書こうとしたコードを投稿することができますか? – harto

+0

これはまた、どのバージョンのJavaにも言及したいと思うかもしれませんが、私はあなたがtriecをどれくらい持っているかを見るために、すでに試したコードを見るのが一番良いということに同意します。 –

答えて

1
<% 
for (Iterator it = vector.iterator(); it.hasNext();) { 
    out.println("Hey here is an item in my vector: " + it.next()); 
} 
%> 

他には細かいことはほとんどありません。

また、実際には、ListではなくVectorを使用していますか?

+0

私は大まかに言うと、もうスクリプトレットを投稿しません。あなたがしても大丈夫です。 :) –

+1

うまく動きました。私はあなたのフィードバックに感謝します! –

1

スクリプトレットコードを避けたい場合は、JSTL <c:forEach>タグでこれを行うことができます。たとえば、順序付けられたリストのsepateエントリとして各項目から使用を印刷します:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<html> 
    <head></head> 
    <body> 
    <ol> 
     <c:forEach items="${vector}" var="item"> 
     <li><c:out value="${currentName}" /></li> 
     </c:forEach> 
    </ol> 
    </body> 
</html> 

あなたがcurrentNameをコードする気にしないのであれば、あなたはこれを短縮することができます:あなたはおそらく、

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<html> 
    <head></head> 
    <body> 
    <ol> 
     <c:forEach items="${vector}" var="item"> 
     <li>${currentName}</li> 
     </c:forEach> 
    </ol> 
    </body> 
</html> 
+0

JSTLのtaglib URIを修正して、> 10歳ではなく新しい1.1/1.2のものを使用し、1.0を廃止すると、私はあなたをアップウォートするでしょう...ちなみに、最後の方法は特に "ELを使う"ことではなく、最初のやり方でもそうです。違いは、最後の方法はServlet 2.4/JSP 2.0以降でのみ可能であり、 'currentName'が実際にユーザーが制御する入力である場合、最初の方法でXSSのリスクが除去されることです。 – BalusC

+0

申し訳ありませんが、私の答えは交渉可能ではありません......。OK、OK、私は変更を行います! –

関連する問題