私はクラス「CouponAction」に、initCouponとaddCouponの2つのメソッドを用意しています。私は、すべてのメソッドを検証しようとするクラスレベルではなく、addCouponメソッドの検証だけを必要とします。方法とStruts 2による検証クラスレベルではなく、メソッドレベルのコンビニエンスプラグイン
このクラスは、この
@Scope("prototype") @Controller
@Namespace("/coupon")
public class CouponAction extends BaseAjaxAction<Coupon> {
............
@Action(value = "initPaymentCoupons", results = {
@Result(location = "/jsp/order/coupon/paymentCoupon.jsp", name = "success")
})
public String initCoupons(){
........
}
@Validations(requiredFields = {
@RequiredFieldValidator(fieldName = "couponCode", type = ValidatorType.FIELD, message = "Enter a coupon code")
})
@Action(value = "/addCoupon", [email protected]("jsonValidationWorkflowStack"),
results = {
@Result(location = "/jsp/order/coupon/paymentCoupon.jsp", name = "success")
})
public String addCoupon() {
.......
}
のようになりますそれから私は得る:
2011-11-10 00:44:13,567 ERROR org.apache.struts2.components.ActionComponent.error:38 - Could not execute action: /coupon/initCoupons
No result defined for action vervik.actions.order.CouponAction and result input
IVが見られるすべての例は、クラスレベルの検証アノテーションを使用しています。 xmlを使用したときにファイルがありました: CouponAction-addCoupon-validation.xml addCouponメソッドの検証のみです。
検証アノテーションを使用するにはどうすればよいですか?
ありがとうございます。
出典:
http://struts.apache.org/2.1.6/docs/convention-plugin.html#ConventionPlugin-InterceptorRefannotation
http://struts.apache.org/2.0.14/docs/annotations.html
完璧、ありがとう、これは解決策です。 –
あなたは歓迎です:) –