2017-07-31 17 views
0
<table border="0"> 
     <tr> 
      <th>ID</th> 
      <th>Date</th> 
      <th>To Account</th> 
      <th>From Account</th> 
      <th>Amount</th> 
      <th>Notes</th> 
     </tr> 

     <% ArrayList list = (ArrayList) request.getAttribute("data")%> 

     <% for(int i=0;i<list.size();i++){%> 
     <tr> 
      <td> <%= list.get(i)%></td> 
     </tr> 
     <% } %> 
    </table> 

私のnetbeans IDEのforループ行にエラーが発生します。それは、私が必要とすることを示唆している ";"どこかで私は正しいのですか?forループがJSPで動作しない

これを投稿した後、私は、指示文のjspタグにセミコロンがないことを知りました。しかし、今は、ページにリクエストオブジェクトがないというエラーが表示されていますか?どうすればいいの?暗黙のオブジェクトだと思った?

答えて

1

{ブロック}内の文は、それがJavaであるだけで同じように、;で終わらなければなりません確かにJavaステートメントです。

<% int a = 1; %>  // variable created for each HTTP request 
<%! int b = 2; %>  // variable created for each servlet instance 
<%! static c = 3; %> // static variable shared by all instances of servlet 

JSPは、正しいフォームがJSPで、情報だけのために<% ArrayList list = (ArrayList) request.getAttribute("data"); %>

ある

、宣言は、3つの異なる形態を取ることができ、コンテナ(Tomcatの)によって(サーブレット)は、Javaコードに変換してコンパイルなっていますどの形式でも、それを閉じる必要があります;

一方、式<%= %>はJavaの文法ではありませんしたがって、式ブロック<%= ... %>はありません最後にセミコロンを必要としません。

JSPページのみjava.lang.* package

<%@ page import="java.util.ArrayList"%> 
へのアクセス権を持っているデフォルトではとまた、あなたが JSPページの一番上のArrayListのインポートを追加したことを確認してください
0

ループの最後のステートメントをセミコロンで閉じなかったため、forループ・ラインでエラーが発生しています。この1:

次のように末尾にセミコロンを持っている必要があり
<% ArrayList list = (ArrayList) request.getAttribute("data")%> 

、:彼らので

<% ArrayList list = (ArrayList) request.getAttribute("data");%> 
関連する問題