目次へ

解答例 - 実習課題1 - 19.レイアウト

(実習課題1)

サンプルで示したレイアウトに従ったページを2つ以上用意し、Tilesを用いて表示させること。

  • コンテンツの部分は異なったものにすること。
  • コンテンツの部分以外は同じにすること。
  • メニューは、それぞれのURLへのリンクとする事。

解答例

▼ディレクトリ構成は以下の通り

.
└─WEB-INF              web.xml,struts-config.xml,tiles-defs.xml
    ├─classes
    │  └─com
    │      └─techscore
    │          └─struts       EncodingFilter.class(2章 実習課題2と同じ)
    ├─JSP
    │  └─com
    │      └─techscore
    │          └─struts
    │              └─chapter19
    │                  └─exercise1 content1.jsp,content2.jsp,header.html,menu.html,footer.html
    │                                 useTilesInsert1.jsp,useTilesInsert2.jsp
    ├─lib              strutsライブラリ jarファイル
    └─tld              struts-tiles.tld



※strutsライブラリjarファイル
  struts.jar,commons-beanutils.jar,commons-collections.jar,commons-digester.jar,commons-logging.jar,jakarta-oro.jar
<!-- content1.jsp -->
<!-- TECHSCORE Java JakartaStruts 19章 実習課題1 -->
<!-- Copyright (c) 2004 Four-Dimensional Data, Inc. -->

<%@ page pageEncoding="Windows-31J" %>

<p align="center">コンテンツその1</p>
<!-- content2.jsp -->
<!-- TECHSCORE Java JakartaStruts 19章 実習課題1 -->
<!-- Copyright (c) 2004 Four-Dimensional Data, Inc. -->

<%@ page pageEncoding="Windows-31J" %>

<p align="center">コンテンツその2</p>
<!-- useTilesInclude1.jsp -->
<!-- TECHSCORE Java JakartaStruts 19章 実習課題1 -->
<!-- Copyright (c) 2004 Four-Dimensional Data, Inc. -->

<%@ page contentType="text/html; charset=Windows-31J"
         session="false" 
         pageEncoding="Windows-31J" %>

<%@ taglib uri="http://jakarta.apache.org/struts/tags-html"
           prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles"
           prefix="tiles" %>

<html:html>
<head><title>TECHSCORE Java JakartaStruts 19章 実習課題1</title></head>
<body>

<table border="1" width="100%">
    <!-- ヘッダー部分-->
    <tr><td colspan="2"><tiles:insert page="/WEB-INF/JSP/com/techscore/struts/chapter19/exercise1/header.html" /></td></tr>
    <tr>
        <!-- メニュー部分-->
        <td width="20%"><tiles:insert page="/WEB-INF/JSP/com/techscore/struts/chapter19/exercise1/menu.html" /></td>
        <!-- コンテンツ部分-->
        <td><tiles:insert page="/WEB-INF/JSP/com/techscore/struts/chapter19/exercise1/content1.jsp" /></td>
    </tr>
    <!-- フッター部分-->
    <tr><td colspan="2"><tiles:insert page="/WEB-INF/JSP/com/techscore/struts/chapter19/exercise1/footer.html" /></td></tr>
</table>

</body>
</html:html>
<!-- useTilesInclude2.jsp -->
<!-- TECHSCORE Java JakartaStruts 19章 実習課題1 -->
<!-- Copyright (c) 2004 Four-Dimensional Data, Inc. -->

<%@ page contentType="text/html; charset=Windows-31J"
         session="false" 
         pageEncoding="Windows-31J" %>

<%@ taglib uri="http://jakarta.apache.org/struts/tags-html"
           prefix="html" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles"
           prefix="tiles" %>

<html:html>
<head><title>TECHSCORE Java JakartaStruts 19章 実習課題1</title></head>
<body>

<table border="1" width="100%">
    <!-- ヘッダー部分-->
    <tr><td colspan="2"><tiles:insert page="/WEB-INF/JSP/com/techscore/struts/chapter19/exercise1/header.html" /></td></tr>
    <tr>
        <!-- メニュー部分-->
        <td width="20%"><tiles:insert page="/WEB-INF/JSP/com/techscore/struts/chapter19/exercise1/menu.html" /></td>
        <!-- コンテンツ部分-->
        <td><tiles:insert page="/WEB-INF/JSP/com/techscore/struts/chapter19/exercise1/content2.jsp" /></td>
    </tr>
    <!-- フッター部分-->
    <tr><td colspan="2"><tiles:insert page="/WEB-INF/JSP/com/techscore/struts/chapter19/exercise1/footer.html" /></td></tr>
</table>

</body>
</html:html>

▼header.html

<!-- header.html -->
<!-- TECHSCORE Java JakartaStruts 19章 実習課題1 -->
<!-- Copyright (c) 2004 Four-Dimensional Data, Inc. -->

<p align="center">TECHSCORE Java JakartaStruts 19章 実習課題1</p>

▼menu.html

<p align="center">メニュー</p>

<p align="center">
    <a href="useTilesInsert1.jsp" />
        コンテンツ1
</a></p><p align="center">
<a href="useTilesInsert1.jsp" />
    </a><a href="useTilesInsert2.jsp" />
        コンテンツ2
    
</a></p>

▼footer.html

<!-- footer.html -->
<!-- TECHSCORE Java JakartaStruts 19章 実習課題1 -->
<!-- Copyright (c) 2004 Four-Dimensional Data, Inc. -->

<p align="center">Copyright (c) 2004 Four-Dimensional Data, Inc.</p>

▼tiles-defs.xml

<?xml version="1.0" encoding="Windows-31J" ?>
<!DOCTYPE tiles-definitions PUBLIC
  "-//Apache Software Foundation//DTD Tiles Configuration//EN"
  "http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
  
<tiles-definitions>

    <definition name="useTiles191_1"
                path="/WEB-INF/JSP/com/techscore/struts/chapter19/exercise1/useTilesInsert1.jsp">
    </definition>

    <definition name="useTiles191_2"
                path="/WEB-INF/JSP/com/techscore/struts/chapter19/exercise1/useTilesInsert2.jsp">
    </definition>

</tiles-definitions>

▼struts-config.xml

<?xml version="1.0" encoding="Windows-31J" ?>
<!DOCTYPE struts-config PUBLIC
  "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
  "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">

<struts-config>

    <action-mappings>

        <action path="/com/techscore/struts/chapter19/exercise1/useTilesInsert1"
                forward="useTiles191_1" />

        <action path="/com/techscore/struts/chapter19/exercise1/useTilesInsert2"
                forward="useTiles191_2" />

    </action-mappings>

    <plug-in className="org.apache.struts.tiles.TilesPlugin">
        <set-property property="definitions-config"
                      value="/WEB-INF/tiles-defs.xml" />
    </plug-in>

</struts-config>

▼web.xml

<?xml version="1.0" encoding="Windows-31J" ?>
<!DOCTYPE web-app PUBLIC
  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd">

<!-- Copyright (c) 2002 by ObjectLearn. All Rights Reserved. -->
<web-app>

    <filter>
        <filter-name>Encoding</filter-name>
        <filter-class>com.techscore.struts.EncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>Windows-31J</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>Encoding</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <servlet>
        <servlet-name>Action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>debug</param-name>
            <param-value>6</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>Action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

    <taglib>
        <taglib-uri>http://jakarta.apache.org/struts/tags-html</taglib-uri>
        <taglib-location>/WEB-INF/tld/struts-html.tld</taglib-location>
    </taglib>


    <taglib>
        <taglib-uri>http://jakarta.apache.org/struts/tags-tiles</taglib-uri>
        <taglib-location>/WEB-INF/tld/struts-tiles.tld</taglib-location>
    </taglib>


</web-app>

▼起動URLは以下の通り

WEB_ROOT/com/techscore/struts/chapter19/exercise1/useTilesInsert1.do
WEB_ROOT/com/techscore/struts/chapter19/exercise1/useTilesInsert2.do

EncodingFilter.javaの参照(2章の実習課題2と同じ)


↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp