S2StrutsとJSTL
昨日の続きで、S2Struts。JSTLを使いたくて奮闘。タグは通るのにELが通らない問題に長時間はまりました。結局、s2struts-blankのweb.xmlを変更する必要があったようです。
手順を書いておきます。
(1) JSTLのダウンロードと導入。
http://jakarta.apache.org/site/downloads/index.html の、TagLibsを選んで、Standard 1.1 Taglib を更に選ぶ。jakarta-taglibs-standard-1.1.2.zipをDLして展開。jstl.jarと、standard.jarをWEB-INF/libに配置する。
(2) WEB-INF/web.xml の頭部分を以下に変更する。(いいんだろうか?)
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
(3) あとはこんな感じのjspを用意して動作確認。
<%@ page contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J"%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=Shift_JIS"/> <title>JSTLテスト</title> </head> <body> <center> <% request.setAttribute("test","hello"); %> <c:out value="${test}"/><br/> EL:${test}<br/> </center> </body> </html>
※当初なかなか動かなくて、以下を試行錯誤していましたが、全く不要ですのでご注意を。