struts2 入門 インストール
strust2のインストールについて説明していますが EclipseやTomcatのインストールなどについては割愛しています。 struts2ダウンロードapache struts2から最新のバージョン(現時点 Struts 2.0.11.1 best available)を選択し struts-2.0.11.1-all.zipをダウンロードし適当な場所に解凍します。 <サンプル> 解凍するとstruts-2.0.11.1\appsの下に以下サンプルwarが格納されています。 tomcatのwebapps配下に配置すれば動かすことができるので参考になると思います。 ・struts2-blank-2.0.11.1.war - 名前の通り空のプロジェクトです。struts2開発を始める時に使用できます。 ・struts2-mailreader-2.0.11.1.war - struts2の仕組みを理解するのに丁度いいシンプルなアプリケーションです。 ・struts2-portlet-2.0.11.1.war - ポートレットのデモンストレーションアプリです。 ・struts2-showcase-2.0.11.1.war - UIなど共通なコンポーネントのサンプル集です。 プロジェクトのセットアップEclipseでWEBアプリプロジェクトを作成します。WTPを使っている場合は[新規プロジェクト]から[動的WEBプロジェクト]を作成してください。 プロジェクトの名前は「struts2test」としました。 作成したプロジェクトのWEB-INF/libの下に struts-2.0.11.1\libから以下のjarをコピーします。 ・commons-logging-1.0.4.jar ・freemarker-2.3.8.jar ・ognl-2.6.11.jar ・struts2-core-2.0.11.1jar ・xwork-2.0.4.jar web.xmlの編集struts2がリクエストを受け取るようにweb.xmlに以下のフィルターを追加します。 <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> struts.xmlの追加struts2の設定ファイルを追加します。strtus1のstruts-config.xmlと同じようなもので 遷移先の管理やアクションクラスの関連を設定します。 アノテーションを使うことによって設定しないことも可能ですが今回は設定します。 以下を記述したstruts.xmlをsrc配下に格納します。 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="tutorial" extends="struts-default"> <action name="HelloWorld" class="tutorial.HelloWorld"> <result>/HelloWorld.jsp</result> </action> </package> </struts>(tutorial.HelloWorld.javaとHelloWorld.jspについては下記参照) tutorial.HelloWorld.javaを作成するアクションクラスであるHelloWorld.javaを作成します。srcの下にtutorialパッケージを作成し以下の内容で HelloWorld.javaを作成します。 package tutorial; import com.opensymphony.xwork2.ActionSupport; public class HelloWorld extends ActionSupport {//ActionSupportを継承 //画面に表示するMESSAGE public static final String MESSAGE = "Struts is up and running ..."; //実行されるアクションメソッド public String execute() throws Exception { setMessage(MESSAGE); return SUCCESS; } //以下messageプロパティ・アクセサ private String message; public void setMessage(String message){ this.message = message; } public String getMessage() { return message; } } hello.jspの作成結果を表示する画面hello.jspを作成します。<%@ page language="java" contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J"%> <%@taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Hello World!</title> </head> <body> <h2><s:property value="message" /></h2> </body> </html> 動かしてみる必要なものが揃ったので動かしてみます。サーバを起動して以下にアクセスして画面に「Struts is up and running ...」が表示されれば成功です。 http://localhost:8080/struts2test/HelloWorld.action ↑hが全角になっているので半角に変えてください。 ローカルホストを入力するとwiki文法で勝手に"/"になるので 解決方法知ってる方は是非教えてください。(^_^ 以上で最低限動かしてみるところまでです。 アノテーションを使ってゼロ設定でやらないとあまり ありがたみがありませんがActionFormが無くなってActionのアクセサで プロパティを参照できるのはJSFライクでいいと思います。 strtusはデザインとの調和がJSFより取りやすいのでまだ期待してます。 次回はアノテーションを使ってみます。
|