【问题标题】:How to use same validation method for two action methods如何对两种操作方法使用相同的验证方法
【发布时间】:2014-08-06 11:26:16
【问题描述】:

我在 Struts2 中有这个方法的动作方法和验证方法。我想将此验证方法用于另一种操作方法。我不知道该怎么做。请帮忙。场景描述如下:

public class ApplicantRegistrationDetails extends ActionSupport {
    
     public String personOfCollectiveTrademark() {
      // some code..
         
     }

     public String insertAndValidateIECcode(){
        // I have to use same validation method
        // for this method as above.

     }

     //validation
     public void validatePersonOfCollectiveTrademark() {
       // validations for first method
     }

}

【问题讨论】:

  • 我还有其他几种其他操作方法的验证方法,所以我不能使用覆盖的@validate{}方法。
  • 将代码从validatePersonOfCollectiveTrademark 移动到某个方法,创建validateInsertAndValidateIECcode 方法调用它们两者的新方法。
  • @AleksandrM 实际上,我希望通过验证拦截器为两种操作方法调用相同的验证方法。
  • 我明白,但你不能轻易做到。关键是要避免代码重复,为此请阅读我的第一条评论。
  • 好的。我会这样做,但你能投票赞成这个问题,以便其他人关注它吗?!

标签: java validation struts2 struts2-interceptors


【解决方案1】:

您可以使用基于前缀的方法验证轻松完成。

 /**
  * Validates insertAndValidateIECcode()
  */
 public void  validateInsertAndValidateIECcode(){
    // The implementation uses same validation method
    // for personOfCollectiveTrademark().
    validatePersonOfCollectiveTrademark();
 }

【讨论】:

    猜你喜欢
    • 2019-04-30
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 2015-07-31
    • 2021-04-19
    • 2018-08-05
    • 1970-01-01
    相关资源
    最近更新 更多