0

アプリケーションをStruts1.3からSpring3.1.4MVCに移行しています。その過程で、タイル1.1からタイル2.2にアップグレードしています。Jstlバージョンは1.1です。Tiles 2.2では、put-list-attributeの使用に関して問題が発生しています。次のような単純なjspページを表示しようとしています。a)ヘッダー:cssの束を含めます(機能しないためコメントアウトしました。firebugを使用するとエラーが表示"NetworkError: 404 Not Found - http://localhost:8080/appname/%BeachStyle%7d" --- {eachStyle} されます。%BeachStyle%がどこから来たのかわかりません。b)ヘッダー:タイトルを含めるWorks fine -c)本文:静的テキストを表示

tiles.xml

<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN"
"http://tiles.apache.org/dtds/tiles-config_2_1.dtd">

<tiles-definitions>
    <definition name=".login" preparer="com.tiles.LoginController"
    template="/tiles/layouts/layoutmain.jsp">
    <put-attribute name="pageTitle" value="vivi test" />
    <put-list-attribute name="baseStylesTest">
        <add-attribute value="/styles/css/grids.css"/>
        <add-attribute value="/styles/css/superfish.css"/>
        <add-attribute value="/styles/css/styles.css"/>
    </put-list-attribute>

    </definition>
</tiles-definitions>

layoutmain.jsp

<%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> 
<tiles:useAttribute id="stylesList" name="baseStylesTest" classname="java.util.List"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <%-- <c:forEach var="eachStyle" items="${baseStylesTest}">
        <link type="text/css" rel="stylesheet" href="<c:out value='${eachStyle}'/>"    /> --%>
    <title><tiles:insertAttribute name="pageTitle" /> </title>
</head>
<body>
    Login page body
</body>
</html>

私は次のことを試しました:i)tiles2.2 dtdとそれを使用する例を確認しました-同様の使用法を見つけましたii)インターネット上の例とその使用方法を確認しました-同様の使用法を見つけましたiii)支柱での使用方法を確認しました-彼らが使用していることを確認しましたページスコープ内の#attr.xxx

実装に問題はありません。title属性は適切にレンダリングされますが、put-list-attributeに属する属性上にあります。

どんな助けでも大歓迎です。

4

1 に答える 1

0

解決策を見つけました。Web アプリのバージョンが 2.5 であると宣言したため、JSTL が機能していませんでした。これは、私が使用していた tomcat5.5 と互換性がありません。Web アプリのバージョンを 2.4 に変更しましたが、すべて問題ありません。

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 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">

---

</web-app>
于 2013-03-22T20:00:05.790 に答える