Struts 2:为操作添加自定义接口

时间:2012-09-10 12:59:52

标签: struts2

我正在考虑为sturts 2添加一个新接口(如validationAware等)。接口的方法是设置必须存在于请求中的特定参数的方法。

例如,请考虑此接口:

    public interface MyCustomInterfaceForActions {

        /**
         * Set a specific parameter into the request 
         */
        public void setMyParameter1InRequest(HttpServletRequest request, String myParameter);

        /**
         * Sets another specific parameter into the request 
         */
        public void setSecondParamInRequest(HttpServletRequest request, String myParameter);

    }

问题是我不想在实现该接口的每个动作的“execute”方法中“调用”方法“setParameterInRequest”。

另外,我想“强制”操作以将特定参数设置到请求中。

有没有办法在不必在我的行为的所有“执行”方法中调用“set”方法的情况下这样做?例如,我可以扩展一个struts的“actionExecutor”(我把它命名为)并改变它的行为以检查该类是否实现了“MyCustomInterfaceForActions”并调用了“set”方法(如果是这样的话)?

或者更好的是,只需检查界面是否已实现,只需将这些参数添加到请求中,而无需实现方法?

1 个答案:

答案 0 :(得分:0)

为什么不简单地使用Preparable界面。这样你可以在prepare()方法中进行初始化吗?