为什么我们需要Struts2中的Preparable接口?

NIV*_*GAR 7 java model-view-controller struts2 java-ee interceptor

我们有拦截器,我们有自定义拦截器,我们可以在执行操作之前或之后执行我们想要执行的所有操作.
那么有什么需要使用Preparable接口并实现它的准备方法呢?
这是另一种选择还是有一些特定目标可以做到这一点?

Ume*_*thi 8

Well Preparable接口与Prepare Interceptor一起使用.此接口定义了一个方法prepare(),并且其名称表明此方法负责允许操作自行准备.

prepare()在实现Preparable的操作上准备拦截器调用.这个拦截器对于在实际执行方法运行之前需要确保某些逻辑运行的任何情况非常有用.所以如果你看到这是某种类型,如果init你的动作类,它确保在Action的执行或任何其他方法之前得到调用此方法可以使您的execute方法正常工作.

如果您在核心中看到default-stack定义,您将会知道此拦截器之前被调用params或工作流拦截器指示其目的.

这种情况的一个典型用途是运行一些逻辑来从数据库加载对象,以便在设置参数时可以在此对象上设置它们.有关详细信息,请阅读准备拦截器的文档,了解它如何与Preparable接口紧密配合.简而言之,准备拦截器只有在动作实现Preparable时才会执行.

准备拦截