Struts

Struts2.0.9で処理結果を次の画面で使用する
一覧画面に遷移するときなどは、遷移するときにデータを取得し、次に遷移して遷移先JSPで取得したデータを表示・・・という手順を踏むことが多い。 Action内でデータを取得して、次の画面でそのデータを利用する方法をメモ。 一覧画面へ遷移するリンク作成 リンクをクリックしたら一覧画面に遷移する実装とする。 <s:url id="userL...

Validatorを動かすと「Could not find action or result」と怒られる
ActionSupportインタフェースを継承したクラスを作って、validation.xmlでValidatorを動かすとこんなのがでた。

Struts2.0.9 BasicValidation
Validationを実装してみる。ユーザの登録画面を作って、「ユーザ名」「パスワード」の入力チェックを作ってみる。 validation.xml Struts2でもvalidation.xmlを使うけど、使い方がちょっと違う。Actionごとにファイルを用意してあげるので便利になった気がする。 今回はUserRegActionというActio...

Struts2.0.9のValidation
Struts2ではXWorkのValidationフレームワークが使える。ValidationhaActionの実行前にValidationルールを入力に行うことができる。 Struts2 document Validation annotationを使ってValidationを行うことも可能。 Struts2 document Validat...

Struts2.0.9とTiles2.0.5の使い方
Struts1.3.xでTilesをはじめて使ってみたが、これはかなり使えるプラグインだった。調べてみると、Apache.orgにTilesのサイトがあったので、Struts2のTilesプラグインを使った実装を調べてみる。 Apache Tiles 2 まずはインストールからシンプルに使ってみる。 インストール Tilesをダウンロードして...

Struts2.0.9のurlタグライブラリ
URLを作成する。URLを作るときにパラメタもつけれるみたい。 Struts Document url tag 使い方 リンクを作ってみる。リンクからActionを呼び出してみる。 <a href="<s:url action="userreginit" />">登録画面</a> 出力は <a...

Struts2.0.9のiteratorタグ
ループ処理に使えるタグ。シンプルになった気がする。 Struts document iterator tag Listに入ったオブジェクトを表示する Listの中にUserVOというオブジェクトが入っている場合の表示方法。propertyタグを使ってUserVOのアクセッサを呼び出している。 <table border="1"> ...

Struts2.0.9のifタグライブラリ
if判定を行うタグ。Struts document if tag

Struts2.0.9のformタグライブラリ
フォームを作成するタグ。 Struts Document form tag 使い方 <s:form action="userreg"><s:textfield name="userName" /><s:submit value="登録" /> </s:form>

Struts2.0.9のaタグライブラリ
「<a href?」を作るタグ。URLを作成するタグと同時に使うみたい。 Struts Document a tag 使い方 //index.jsp <s:url id="userRegInitUrl" namespace="/userreg" action="userreginit"></s:url> <s:a hre...

Struts2.0.9のタグライブラリ
Struts2タグで利用できるタグを紹介。これを使えばFormの値の受け渡しができるはず。 Tag Developers Guide 宣言はこんな感じらしい。 <%@taglib prefix="s" uri="/struts-tags" %>

Struts2.0.9でSessionにアクセスする
ユーザのセッションにActionからアクセスしたいときはこのインタフェースを実装しなければならない。 このインタフェースはサーブレット環境の場合にのみ利用できる。 このインタフェースを使ってサーブレット環境に関係するActionを作ると、ユニットテストが難しくなるので避けるべき。 SessionAware Javadoc ユーザ登録画面に確認...

Struts2.0.9 Interceptorsの実装
インターセプタを作るためには「com.opensymphony.xwork2.interceptor.Interceptor」を実装しなければならない。 Interceptorインタフェース Interceptor Javadoc 以下の3メソッドが定義されている。 void destroy()void init()String interc...

Struts2.0.9 ExceptionInterceptor
Exception Interceptorは、例外ハンドリングの中心機能を形成している。例外ハンドリングは例外を結果コードにマッピングすることができる。これは、 Actionが予期せぬ例外を投げる変わりに結果コードを投げているように扱うことができる。例外が発生したとき、例外をExceptionHolderでラップして、簡単に例外を扱えるようになっ...

Struts2.0.9のInterceptors
リクエストをMappingされたActionに投げるとき、フレームワークはActionオブジェクトを呼び出す。しかし、Actionの実行前 に、別のオブジェクトによって処理を中断することができる。Actionの実行後も処理を中断できる。この機能を「インターセプタ」と呼ぶ。 Struts2 document Interceptors インターセプタの理解 ダブ...

Struts2.0.9でFormの入力情報をActionで使う
画面のFormに入力された値をAction内で取得してみる。 JSPにFormを記述 Formタグを使ってFormを記述。 <s:form action="userreg"><s:textfield name="userName" /><s:password name="password" /><...

Struts2.0.9でActionの処理結果によって遷移先を変える
Action内部でビジネスロジックを呼び出したりするときに、処理結果によって遷移先を変えることがある。その実装方法をメモ。 struts.xmlで遷移先を複数指定する 処理に成功したら「complete.jsp」へ遷移、失敗したら「userreg.jsp」へ遷移する。 <action name="userreg" class="com.d...

Struts2.0.9 Action Chaining
フレームワークは、決めた順番やワークフロー順で定義した複数Actionに連鎖する機能を提供している。この機能は連鎖結果をActionに与える。そして、対象となるActionをChainingInterceptorを起動してインターセプトする。 一般的に、ActionChainingは推奨されない。他のオプションを調べてみると、Post後のリダイレクトテクニッ...

Struts2.0.9で1つのFormに複数のSubmitボタンを使う
1つのFormに複数のSubmitボタンをおきたいときがある。そういうときはbuttonタグとして定義して、Javascriptを使って Formのaction属性を摩り替える方法をとっていたが、Struts2ではSubmitボタンを2つ配置しても動作してくれる方法がある。 JSPにSubmitボタン2つのFormを記述 一覧系画面は、一覧表示され...

Struts2.0.9インストールからサンプル作成まで
WebWorkというフレームワークとStrutsが合体&進化してStruts2となったらしい。次世代フレームワークとしてStrutsを超える存在になるのかなー? 要件 Servlet API 2.4 JSP API 2.0 Java 5 Struts2.0.9 document Struts Core / XW...