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

2.0.8になった

https://issues.apache.org/struts/secure/ReleaseNote.jspa?projectId=10030&styleName=Html&version=21801 https://issues.apache.org/struts/secure/ReleaseNote.jspa?projectId=10030&styleName=Html&version=21796 同梱されているxworkのjarが2.0.3にな…

CustomValidatorを作ってみた

とりあえず手っ取り早く独自のValidatorを作るには、 com.opensymphony.xwork2.validator.validators.FieldValidatorSupport を拡張して以下のメソッドを実装すれば良いみたい。 public void validate(Object object) throws ValidationException; で、この…

JIRAに挙がってる改良提案

これ実装してほしい! https://issues.apache.org/struts/browse/WW-1866 一覧画面の各レコードに更新ボタンがあって、そこから 入力画面 → 確認画面 → 完了画面 と遷移していくといった、いわゆるマスタメンテ系の機能ではよくあるパターン。 こういうのは…

アクションメソッドの前後処理を記述する(@Before/@After/@BeforeResultアノテーション)

struts.xmlの修正 に以下を追記 <interceptor name="annotationInterceptor" class="com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor"/> に以下を追記 <interceptor-ref name="annotationInterceptor"/> Actionクラス public class BeforeAfterAction extends ActionSupport { @Before public void before(){…</interceptor-ref></interceptor>

入力チェックしてみる(実行メソッド毎にValidationを変えたい)

以下のようなActionがあったとして public class Hoge2Action extends ActionSupport { private String hoge1; private String hoge2; public String hoge1(){ return "hoge1"; } public String hoge2(){ return "hoge2"; } public String getHoge1() { retu…

入力チェックしてみる(Beanに定義したValidationを実行したい)

sample.Person public class Person { private String id; private String password; private String name; public String getId() { return id; } @RequiredStringValidator(message="IDは必須です") public void setId(String id) { this.id = id; } publi…

入力チェックしてみる(続き)

Annotation Validationを使うと、ログに methodNameのメソッドがありません的なNoSuchMethodExceptionがべろべろ出力される。 これは、Struts2というかxwork2のバグ(xwork2のJIRAに載ってた)で、最新のxwork-2.0.2.jarで修正されているらしい。てことで、jar…

入力チェックしてみる

Zero Configの方針なので、Validation Annotationsを使用します。 最初、単純に以下のようにsetterにアノテーションを追記したところ @RequiredStringValidator(message="ほげ1は必須です") public void setHoge1(String hoge1) { this.hoge1 = hoge1; } @R…

とりあえず入力formを作ってみる

sample.HogeAction public class HogeAction extends ActionSupport { private String hoge1; private String hoge2; public String view(){ return "view"; } //setter-getter public String getHoge1() { return hoge1; } public void setHoge1(String hog…

codebehindプラグイン

ログイン画面を表示するLoginActionがあるとして。 表示する画面はlogin.jspだとする。 このような簡単な画面遷移を扱うときに楽になるのがcodebehindプラグイン。 struts2-codebehind-plugin-2.0.6.jarをWEB-INF/libに配置するだけで以下の機能が有効になる…

Struts2勉強方針

少し前からStruts2の勉強をしています。 ActionやValidationの定義はxmlではなくAnnotationで設定する(ZeroConfig)方針でいきます。

ImageMagickでPDFからサムネイル生成〜convertコマンドでページ指定する方法〜

・ImageMagickとghostscript(convertコマンド) ImageMagickとghostscriptでPDFのサムネイルを作成するには convert input.pdf output.jpg のようにconvertコマンドを使用して生成できます。 このコマンドでは例えばpdfが3ページあった場合 output-0.jpg、o…

JMagickでPDFからサムネイル作成

JMagickを使って大量のPDFからサムネイルを生成してたら、作成されるJPEGの形式がRGBとCMYKごっちゃになっていた。MagickImage image = new MagickImage(); ・・・ QuantizeInfo qzInfo = new QuantizeInfo(); qzInfo.setColorspace(ColorspaceType.RGBColor…