Struts2
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にな…
とりあえず手っ取り早く独自のValidatorを作るには、 com.opensymphony.xwork2.validator.validators.FieldValidatorSupport を拡張して以下のメソッドを実装すれば良いみたい。 public void validate(Object object) throws ValidationException; で、この…
これ実装してほしい! https://issues.apache.org/struts/browse/WW-1866 一覧画面の各レコードに更新ボタンがあって、そこから 入力画面 → 確認画面 → 完了画面 と遷移していくといった、いわゆるマスタメンテ系の機能ではよくあるパターン。 こういうのは…
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>
以下のような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…
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…
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…
ログイン画面を表示するLoginActionがあるとして。 表示する画面はlogin.jspだとする。 このような簡単な画面遷移を扱うときに楽になるのがcodebehindプラグイン。 struts2-codebehind-plugin-2.0.6.jarをWEB-INF/libに配置するだけで以下の機能が有効になる…
少し前からStruts2の勉強をしています。 ActionやValidationの定義はxmlではなくAnnotationで設定する(ZeroConfig)方針でいきます。