2

私は spring mvc 3 を使用しており、コントローラーはコントローラーから JSP にリストを渡しています。

リストの適切なマッチ = new ArrayList(); ...// このリストにファイルを追加するコード

そして私のjspで:

<tr>
<td class="readOnly">${list.name}</td>
<td class="readOnly">${idiomSearch.testCaseID}</td>
<td class="readOnly">${list.lastModified}</td>
<td class="readOnly"><a href="downloadFile.htm?testID=${list.name}">Download</a></td>
</tr>

しかし、私はエラーが発生しています:

エラー 500: org.springframework.web.util.NestedServletException: リクエストの処理に失敗しました。ネストされた例外は javax.el.PropertyNotFoundException: プロパティ 'lastModified' がタイプ java.io.File で見つかりません

list.lastModified が機能しないのはどうしてですか?

4

2 に答える 2

1

Web サーバーが使用しているJSP 式言語のバージョンによっては、この構文でgetter 以外のメソッドにアクセスできない場合があります。

${list.name}Fileには と呼ばれるメソッドがあるため、動作しますgetName()。ただし、Fileには というメソッドがなくgetLastModified()、メソッドが呼び出されるだけlastModified()なので、getter ではないメソッドを呼び出すときは括弧を追加する必要があります。

そのため、コードを読み取る${list.lastModified()}必要があり、少なくとも v2.2 の EL jar を使用する必要があるため、これを Web アプリケーションに明示的に含めるか、このライブラリが既に含まれているサーブレット コンテナーを使用する必要があります。

el 構文の適切なソースは、stackoverflow のel タグの説明にあります。

于 2012-10-24T08:46:43.227 に答える