目次へ

解答例 - 実習課題1 - 3.Beanタグライブラリ

(実習課題1)

以下のWebアプリケーションを、Strutsを用いて作成しなさい。

  • 以下のプロパティを持っているJavaBeansクラスを作成する事。
    • int型の値
    • Stringの配列
    • java.util.List
    • java.util.Map
  • defineタグを用いて、上記クラスのインスタンスのプロパティを変数として定義する事。またその値を表示する事。

解答例

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

.
├─com
│  └─techscore
│      └─struts
│          └─chapter3
│              └─exercise1     useTestBean.jsp
└─WEB-INF              web.xml
    ├─classes
    │  └─com
    │      └─techscore
    │          └─struts       EncodingFilter.class(2章 実習課題2と同じ)
    │              └─chapter3
    │                  └─exercise1 TestBean.class
    ├─lib              strutsライブラリjarファイル
    └─tld              struts-bean.tld

※strutsライブラリjarファイル
  struts.jar,commons-beanutils.jar,commons-collections.jar,commons-digester.jar,commons-logging.jar
/**
 * TestBean.java
 * TECHSCORE Java JakartaStruts 3章 実習課題1
 *
 * Copyright (c) 2004 Four-Dimensional Data, Inc.
 *
 */

/*
 * 作成日: 2004/08/24 新規作成
 *
 */

package com.techscore.struts.chapter3.exercise1;

import java.util.Map;
import java.util.HashMap;
import java.util.List;
import java.util.LinkedList;

public class TestBean {

    public TestBean getBean(){
        return new TestBean();
    }

    public int getTestInt(){
        int testInt = 3;
        return testInt;
    }

    public String[] getTestString(){
        String[] testString = {"文字列0", "文字列1"};
        return testString;
    }

    public List getTestList(){
        List testList = new LinkedList();
        testList.add("リスト1");
        testList.add("リスト2");
        return testList;
    }

    public Map getTestMap(){
        Map testMap = new HashMap();
        testMap.put("mapkey0", "マップ0");
        testMap.put("mapkey1", "マップ1");
        return testMap;
    }

}
<!-- useTestBean.jsp -->
<!-- TECHSCORE Java JakartaStruts 3章 実習課題1 -->
<!-- Copyright (c) 2004 Four-Dimensional Data, Inc. -->

<%@ page contentType="text/html; charset=Shift_JIS"
         session="false" 
         pageEncoding="Shift_JIS" %>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean"
           prefix="bean" %>

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

<jsp:useBean id="testBean"
             class="com.techscore.struts.chapter3.exercise1.TestBean"
             scope="request" />

<bean:define id="bean_int"
             name="testBean" scope="request" property="testInt" />
<p>TestBean testInt : <%=bean_int %></p>

<bean:define id="bean_string0"
             name="testBean" scope="request" property="testString[0]" />
<p>TestBean testString[0] : <%=bean_string0 %></p>

<bean:define id="bean_string1"
             name="testBean" scope="request" property="testString[1]" />
<p>TestBean testString[1] : <%=bean_string1 %></p>

<bean:define id="bean_list0"
             name="testBean" scope="request" property="testList[0]" />
<p>TestBean testList[0] : <%=bean_list0 %></p>

<bean:define id="bean_list1"
             name="testBean" scope="request" property="testList[1]" />
<p>TestBean testList[1] : <%=bean_list1 %></p>

<bean:define id="bean_map0"
             name="testBean" scope="request" property="testMap.mapkey0" />
<p>TestBean testMap.mapkey0 : <%=bean_map0 %></p>

<bean:define id="bean_map1"
             name="testBean" scope="request" property="testMap.mapkey1" />
<p>TestBean testMap.mapkey1 : <%=bean_map1 %></p>

</body></html>

▼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">

<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>
    </servlet>

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

</web-app>

▼起動URLは以下の通り

WEB_ROOT/com/techscore/struts/chapter3/exercise1/useTestBean.jsp

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


↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp