NO プログラム NO LIFE

ayanamiの備忘録

[Java]Struts2でValidatorをModelで定義する

Struts2でActionではなく、ModelでValidatorを定義する方法。

まずはAction。 com.opensymphony.xwork2.validator.annotations.VisitorFieldValidatorアノテーションを利用する。

1
2
3
4
5
6
private HogeDto hogeDto;

@VisitorFieldValidator
public void setHogeDto(HogeDto hogeDto) {
    this.hogeDto = hogeDto;
}

続いて、Model。

1
2
3
4
5
6
7
8
9
10
private String foo;

public String getFoo() {
    return this.foo;
}

@RequiredFieldValidator(key = "errors.required", messageParams = { "getText('foo')" })
public void setFoo(String foo) {
    this.foo = foo;
}

message.properties。

1
errors.required={0}は入力必須です。

最後にView。name属性をオブジェクト.プロパティの形式で定義する。

1
<s:textfield name="hogeDto.foo" />