解答例 - 実習課題2 - 7.HTMLタグライブラリ3
(実習課題2)
以下のWebアプリケーションを、Strutsを用いて作成しなさい。
- linkタグにおいて、3種類の属性「href」「forward」「page」それぞれを使用したリンクを含める事。
- java.util.Mapを用いて、パラメータを複数指定する方法を試す事。
解答例
▼ディレクトリ構成は以下の通り
.
├─com
│ └─techscore
│ └─struts
│ └─chapter7
│ └─exercise2 useLinkTag.jsp,page.jsp,forward.jsp,href.jsp
└─WEB-INF web.xml(実習課題1と同じ),struts-config.xml
├─classes
│ └─com
│ └─techscore
│ └─struts EncodingFilter.class(2章 実習課題2と同じ),
│ └─chapter7
│ └─exercise2 LinkParameter.class
├─lib strutsライブラリjarファイル
└─tld struts-html.tld
※strutsライブラリjarファイル
struts.jar,commons-beanutils.jar,commons-collections.jar,commons-digester.jar,commons-logging.jar
/**
* LinkParameter.java
* TECHSCORE Java JakartaStruts 7章 実習課題2
*
* Copyright (c) 2004 Four-Dimensional Data, Inc.
*
*/
package com.techscore.struts.chapter7.exercise2;
import java.util.Map;
import java.util.HashMap;
public class LinkParameter{
private Map parameters = new HashMap();
public LinkParameter(){
parameters.put("test1","parameter1");
parameters.put("test2","parameter2");
}
public Map getParameters(){
return parameters;
}
}
<!-- forward.jsp -->
<!-- TECHSCORE Java JakartaStruts 7章 実習課題2 -->
<!-- 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" %>
<html:html>
<head><title>TECHSCORE Java JakartaStruts 7章 実習課題2</title></head>
<body>
<h3>forwardでlink</h3>
<% request.setCharacterEncoding("UTF-8"); %>
<p>parameter名と値は以下の通り</p>
<p>test1 : <%=request.getParameter("test1") %></p>
<p>test2 : <%=request.getParameter("test2") %></p>
</body>
</html:html>
<!-- href.jsp -->
<!-- TECHSCORE Java JakartaStruts 7章 実習課題2 -->
<!-- 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" %>
<html:html>
<head><title>TECHSCORE Java JakartaStruts 7章 実習課題2</title></head>
<body>
<h3>hrefでlink</h3>
<% request.setCharacterEncoding("UTF-8"); %>
<p>parameter名と値は以下の通り</p>
<p>test1 : <%=request.getParameter("test1") %></p>
<p>test2 : <%=request.getParameter("test2") %></p>
</body>
</html:html>
<!-- page.jsp -->
<!-- TECHSCORE Java JakartaStruts 7章 実習課題2 -->
<!-- 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" %>
<html:html>
<head><title>TECHSCORE Java JakartaStruts 7章 実習課題2</title></head>
<body>
<h3>pageでlink</h3>
<% request.setCharacterEncoding("UTF-8"); %>
<p>parameter名と値は以下の通り</p>
<p>test1 : <%=request.getParameter("test1") %></p>
<p>test2 : <%=request.getParameter("test2") %></p>
</body>
</html:html>
<!-- useLinkTag.jsp -->
<!-- TECHSCORE Java JakartaStruts 7章 実習課題2 -->
<!-- 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" %>
<html:html>
<head><title>TECHSCORE Java JakartaStruts 7章 実習課題2</title></head>
<body>
<p></p>
<% pageContext.setAttribute("linkParameter", new com.techscore.struts.chapter7.exercise2.LinkParameter()); %>
<p><html:link page="/com/techscore/struts/chapter7/exercise2/page.jsp" name="linkParameter" property="parameters">
pageでlink</html:link></p>
<p><html:link forward="forwardLink" name="linkParameter" property="parameters">
forwardでlink</html:link></p>
<p><html:link href="href.jsp" name="linkParameter" property="parameters">
hrefでlink</html:link></p>
</body>
</html:html>
▼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>
<global-forwards>
<forward name="forwardLink"
path="/com/techscore/struts/chapter7/exercise2/forward.jsp" />
</global-forwards>
</struts-config>
▼起動URLは以下の通り
WEB_ROOT/com/techscore/struts/chapter7/exercise2/useLinkTag.jsp
EncodingFilter.javaの参照(2章の実習課題2と同じ)

