struts2

struts2における静的ファイルについてのメモ

静的ファイルへのアクセス 通常jsやcssのファイルはWebContentやsrc/main/webapp(Maven Projectの場合)の中に置いて直接参照させます。 例えば、WebContent/css/main.cssはhttp://address/コンテキスト名/css/main.cssでアクセスできます。 もうひとつの方法…

struts2 / Freemarkerでpublicフィールドを参照できるようにする

Freemarkerでは通常getterを見るようになっていてpublicフィールドは参照しません。 ちなみにこれは ${hoge.hoge1} みたいな場合で のようにすればpublicフィールドも参照可能です。(これはfreemarkerではなくstruts2のValueStackを使っているため) なので、…

struts2でJSONを出力する

struts2でJSONを結果として出力したいとなったときのために、JSON Pluginがあります。これとconvention pluginのアノテーションを使って実際に試してみました。もちろんJSONとなる文字列を作って、InputStreamオブジェクトに設定してStream Resultとして返し…

struts2でresultの設定をxmlにもアノテーションにも指定しない方法

概要 struts2では基本的にはresultの設定はstruts.xmlに定義します。 (ここでは詳細は省きます)ただ、最近はconvention-pluginを使ってxml設定せずに画面表示させたり、リダイレクト等が必要なときはアノテーションを使って設定していることが多いと思いま…

S2jdbcでエンティティ共通化とDao作成

前置き DBを使ったプログラムをやってると、全部のテーブルに共通するカラムがあったりします。 例えば作成日時とか最新更新日時とか。 そういう場合にすべてのエンティティクラスでそれらを定義するんではなくて、親クラスで共通なものは定義すると各エンテ…

struts2とseasar2でCRUD処理(colorbox編)

前々回と前回のCRUDアクション作成で入力値チェックを含むCRUD操作を実現しました。 今回は少し画面遷移を工夫して、入力画面はモーダルウィンドウを表示させて入力完了後に閉じるという形にしてみます。jQuery UIにもDialogというウィジェットが用意されて…

struts2とseasar2でCRUD処理(validation編)

前回のCRUDアクション作成(struts2とseasar2でCRUD)ではCRUDの操作ができることを確認しましたが、入力値チェックはやっていませんでした。 今回はstruts2のvalidationの仕組みを使って入力値チェックを行います。struts2では入力値チェックをValidation I…

struts2とseasar2でCRUD処理

今回はstruts2とseasar2でCRUD処理を書いていきます。 前提としてこのページの準備編(トランザクションあたりまで)が済んでいるものとします。 Bootstrapも使ってますが、なくても動くことは動きます。(表示が見難いだけです) Bootstrap設定メモ CRUDの…

struts2のognl.NoSuchPropertyException

struts2でこのようなログが出力されることがあります。 WARN com.opensymphony.xwork2.ognl.OgnlValueStack - Error setting expression 'columnInfo.id' with value '[Ljava.lang.String;@716f5d2f' ognl.NoSuchPropertyException: entity.ColumnInfo.id(…

struts2でjqueryとbootstrapを使う

これまでサーバサイドのJavaについてはいろいろ設定をしてきたので、いったん置いておいてクライアント側の環境も整えていきたいと思います。 準備まとめの準備編(Java)を前提にしています。 「struts2でアプリ作成」は必須。「struts2とseasar2を使ってアプ…

struts2とseasar2でのlogging

このブログでは、struts2とseasar2を使ってアプリ作成をしようとしています。 (参考) 何も設定していない状態でもログは出されているようですが、明示的に設定を行ってみます。 struts2でのloggingについて struts2では、SLF4J、commons-logging(log4J)…

struts2とseasar2を使ってアプリ作成(準備その4)~警告WSSR0008続編

新しいActionSupportの作成 準備その3 で、の対応として「ActionSupportを使わない」として、こういう風に書きましたが とはいっても、ActionSupportは何かと便利でもあるのでsetContainerの形を変えて作り直すのもいいと思います。 なかなか作り直すのも面…

struts2とseasar2を使ったアプリ作成まとめ

準備編(Java) struts2でアプリ作成 準備編1(struts2を使ってプロジェクト作成=>画面作成) 準備編2(追加の設定) struts2とseasar2を使ってアプリ作成 上の「struts2でアプリ作成」を前提としています その1(struts2-seasar-pluginを使ってS2JDBCでDB接続…

struts2とseasar2を使ってアプリ作成(準備その3)~警告WSSR0008

前回の続き。 こういうメッセージが出たときの対処について。 警告: ~~Actionのプロパティ(container)が見つからないので設定をスキップします メッセージの意味 このメッセージの内容を調べてみると、s2-framework-2.4.xx.jarのSSRMessages_ja.properties…

struts2とseasar2を使ってアプリ作成(準備その2)~DI自動設定

前回の続き。 コンポーネントの自動登録(定義の自動生成)設定 前回までの話だと、アクションクラスをコンポーネントに登録(設定)する作業をアクションごとに行っていました。 また、前回はアクションクラスだけでしたが、DaoクラスやServiceクラスについ…

struts2とseasar2を使ってアプリ作成(準備その1)

今回はstruts2-seasar-pluginを使ってS2JDBCでDB接続できるところまで確認します。 struts2-seasar-pluginstruts2でアプリ作成(準備編2)の続きです。 pom.xml 必要なライブラリは下記を参照してpom.xmlに追加します。 http://s2container.seasar.org/2.4/j…

struts2でアプリ作成(準備編2)

前回の作業でとりあえず枠組みはできました。 http://kamegu.hateblo.jp/entry/2013/04/02/164939今回は、それを補足する設定を追加していきます。 リクエスト先が定義(設定)されていない場合の動作について 前回の設定のままで、例えば/myapp/hogeにアク…

struts2でアプリ作成(準備編1)

準備編としているが、Eclipseの準備はできている前提。 m2e(Maven管理用プラグインくらい。。。)ここを参考にしました。 http://d.hatena.ne.jp/uriyuri/20080430/1209540139 プロジェクト作成 File->New->ProjectからWeb->Dynamic Web Projectを選択 プロジ…