解答例 - 実習課題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と同じ)