2009-01-01から1年間の記事一覧

Struts2.1+Spring2.5+iBATIS2+Tilesサンプルアプリケーションの残課題

残っていて手を付けていないところは以下の3点です。登録時のボタン2度押しへの対応 sessionタイムアウトになったときのMapに保存されている検索結果リストの削除 ブラウザをいきなり閉じたときのMapに保存されている検索結果リストの削除そのうち、変更点…

削除処理

変更と同じように一覧でItemnのcodeをhiddenで渡してActionを呼び出します。 <s:if test="#session['user'].delete_priv == true"> <td> <s:form action="Delete_select"> <s:hidden name="code"/> <s:submit key="button.delete"/> </s:form> </td> </s:if> 削除のJSP <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="…

変更処理

一覧で該当Itemのcodeをhiddenで渡している。Action側ではそれを基に該当データを読み出し、修正を行った内容でSubListを変更し、ページの再表示を行っている。hiddenで渡している箇所(結果表示用JSPより抜粋) <s:if test="#session['user'].modify_priv == true"> <td> <s:form action="Modify_select"> <s:hidden name="code"/> <s:submit key="button.modify"/> </s:form> </td> </s:if>変更のJSPは、ほぼ登録と同じで…

検索結果の格納と表示

検索結果のリストの各要素はメディアなどのコードを持っているだけで、データ自体は持っていない。そこで事前に作成しておいたコードとその内容のMapを利用して名称を各POJOに設定する。Actionの該当個所の抜粋 List<Item> items = iService.findItems(item); for(</item>…

検索条件の入力部分

検索条件の入力画面は登録画面と似ているがプルダウンメニューに未指定を表す「--」を追加している。 登録の場合と同じようにプルダウンリスト表示の為のLISTデータはsessionに入れている。準備するActionの抜粋 ・・・・・ @Override public String execute…

登録時のValdationとsessionスコープの変数

Struts2にはValidationの内容をXMLで書いたり、アノテーションを使ったり、Actionにvalidate()メソッドを書くなど、いくつかありますが、今回はvalidate()メソッドを使用しました。 また、ソース中のitemは画面が変わっても使用するのでスコープがsessionで…

登録機能の説明

登録機能ではプルダウンメニューを使っている箇所が何箇所かあります。これらの内容はデータベースのテーブルに入っています。 読み込みはアプリケーションの立ち上げ時に一度行ってキャッシュしています。将来的にはこのデータをメンテナンスする機能も考え…

ログイン機能の説明

ログイン画面を出す前に、CookieにユーザーIDとパスワードが入っていたら、その内容を読み出し、HttpServletRequest#setAttributeでログイン画面で使えるようにセットします。最初はindex.jspでログインの事前準備の為のActionを呼び出します。 %@ page lang…

Struts2.1とTiles

今回のアプリケーションではApacheのtilesを使っています。 Struts2と連携するためにはweb.xmlに以下の記述が必要です。 <listener> <listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class> </listener>Tilesを使用するためには以下のJARファイルが必要です。tiles-api-2.2.0.jar tiles-co…

作ったアプリの機能説明

しかし、Struts2のFilterの文字化けのおかげで小細工しなくてはいけないわかりにくいプログラムになってしまった。 詳細は次回以降で説明するとして今日は作ったプログラムの機能を説明します。アプリケーションは自分の持っているCD,DVD,VIDEOなどを管理す…

Spring2.5とiBATIS

SpringでiBATISを使用するにはSpringが用意しているSqlMapClientDaoSupportというクラスを継承して以下のように書きます。(以下はItemDaoImplの例) DBの例外はすべてSpringがDataAccessExceptionとして処理します。 /** * ItemDaoの実装クラス * * Copyrigh…

Struts2.1とSpring2.5の連携の方法

Spring2.5からアノテーションを使用した形でapplicationContext.xmlの中でBeanの定義等をしなくてもDIできるようになりました。 今回はそれを活用します。@Autowired,@Componentというアノテーションを使用します。これを使用するために必要なapplicationCon…

iBATIS関連の設定

まず、iBATISのsqlMapConfig.xmlの内容 <sqlMapConfig> </sqlmapconfig>

とりあえずMySQL

求職活動しながらだから中々書く時間がないね。 とりあえず、MySQLの文字コードとテーブルの説明をします。 MySQLの文字コードはUTF-8にしました。 UTF-8にするために/etc/my.cnfに以下を追加します。 [mysqld] default-character-set = utf8 skip-character…

Struts2.1+Spring2.5+iBATIS2+Tilesで試しにアプリケーションを作る

Struts2.1+Spring2.5+iBATIS2+Tilesで試しにアプリケーションを作成することにしました。OS:CentOS 5.3 Tomcat6.0.20 MySQL 5.1を使用して自分の持っているCD,DVD,RECORD,LAZER DISK,VIDEOを管理するソフトを作って見ることにしました。備忘録として日記にい…

Spring2.5の@AspectJアノテーションを試す

Spring2.0から使えるようになったアノテーションでのAOPを試したので忘れないように書きます。 Apressから出ている"Spring Recipes"を見ながら試しました。 自分が忘れないように残すだけなので説明しません。 ソースファイル AnotationSampleMain.java impo…

「Struts2 フルスタック化&Webアプリケーション開発」は誰をターゲットにして書いてるんでしょうか?

「Struts2 フルスタック化&Webアプリケーション開発」という去年の11月に発売されて本を読んでます。 Struts2の普及のためにと思って本を書いたとありますが、だれがターゲットなんでしょう? Struts2の基本的な機能だけを使って書いてあるのならまだ分かる…

Class内容を表示するには

歳だからすぐ忘れてしまうのでメモ代わりに日記書きます。 Javaでクラスの中身を出力するにはJakarta Commons Langの中の ReflectionToStringBuilderが役に立ちます。下のコードを実行するとRoom@8813f2[roomName=dirty room,person=Person@e09713[name=smaj…