質問: new ArrayList<>(); list.add("リスト1"); list.add("リスト2"); list.add("リスト3"); model.addAttribute("att3", list); return "HOGEHOGE"; } } ``` ### 該当のソースコード ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 一覧画面 一覧画面 DBの値を一覧表示! 氏名 日付 曜日 出社時間 退社時間 休憩時間 勤務時間 備考欄 交通費 ``` ### 試したこと JSP 一覧表示で検索したところ、を使う実装例が多数あったので、真似してみたら、1のエラーメッセージが発生した。 エラーメッセージを解消するためには、JSTLの導入が必要そうだったので、以下の回答を参考に導入を試みた。 /libフォルダがなかったので、WEB-INF/libを作成し、jstl-api-1.2.jarとjstl-impl-1.2.jarの2つを配置した。 その後、リフレッシュ、Eclipseの再起動を行ったら、JSPのコンパイルエラーはなくなったが、同様に1のエラーメッセージが表示された。 また、ビルドパスでjstl-api-1.2.jarとjstl-impl-1.2.jarの追加も試みたら以下の警告が表示された。 「説明 リソース パス ロケーション 型 クラスパス・エントリー C:/Users/HOGEHOGE/Documents/jstl-api-1.2.jar は、エクスポートまたは公開されません。実行時に ClassNotFoundExceptions が発生する可能性があります。 Attendance P/Attendance クラスパス依存性バリデーター・メッセージ」 と 「説明 リソース パス ロケーション 型 クラスパス・エントリー C:/Users/HOGEHOGE/Documents/jstl-impl-1.2.jar は、エクスポートまたは公開されません。実行時に ClassNotFoundExceptions が発生する可能性があります。 Attendance P/Attendance クラスパス依存性バリデーター・メッセージ」 が表示された ### 補足情報(FW/ツールのバージョンなど) Eclipse neon payara-4.1.2.174 Java 8 プロジェクトはSpringレガシープロジェクトのSpring MVC Projectで作成。
回答: > > を使う実装例が多数あったので、真似してみた > > > JSTLリファレンス: 【Spring MVC】サーバー側(Controller)で設定した値を JSP で使用する ↑こういうのは読みました? 端的に言えば、forEachの使い方、valueの取り出し方がおかしいです。 追記(コメント返し): > > 試行錯誤したソースはおかしな点が多いので、参考にしたサイトのソースに差し替えておきます > > > ↑質問を修正するのは構いませんが、**実際にエラーが発生したソースコードを提示して下さい**。 > > 差し替えたものでもエラーは同じ > > > ↑これは「HTTP Status 500 - Internal Server Error」が検知される、という意味で「同じ」と言ってますか? だとすれば、それはエラーの見方が不足しています。 ``` org.apache.jasper.JasperException: /WEB-INF/views/HOGEHOGE.jsp(31,11) PWC6038: "${testString.[0]}" contains invalid expression(s): javax.el.ELException: Error Parsing: ${testString.[0]} ``` ↑内容を確認すべきはこちらの方です。 > > エラーメッセージからEL式?JSTLがないことがエラー原因に感じたのですが、違ったのでしょうか? > > > 上のエラーメッセージをよく読みましょう ``` "${testString.[0]}" contains invalid expression(s) ``` 「testString.[0]」という表現がおかしい、と言っているのです。 JSTLの不在が原因なら、「」の部分でエラーが発生します。