JODD行动拦截器

  • 本文关键字:JODD jodd
  • 更新时间 :
  • 英文 :


我不知道拦截器应该如何工作,因为我有一些带有@Intercepted注释的MadvocAction,但拦截器堆栈似乎无法访问。

@MadvocAction("index")
public class IndexAction extends AppAction {
@PetiteInject
private TemperatureService temperatureService;
@Action
@InterceptedBy(AppInterceptorStack.class)
public void view() {
    // body here ....
}

以及拦截器堆栈:

package ro.videanuadrian.smartHome.web.interceptors;
import jodd.joy.madvoc.interceptor.DefaultInterceptorStack;
import jodd.madvoc.interceptor.ActionInterceptorStack;
import jodd.madvoc.interceptor.EchoInterceptor;
public class AppInterceptorStack extends ActionInterceptorStack {
public AppInterceptorStack() {
    super(
        AppAuthenticationInterceptor.class,
        EchoInterceptor.class,
        DefaultInterceptorStack.class
    );
}
}

知道吗

使用madvoc配置更新:这是在我的web.xml中:

  <filter>
    <filter-name>madvoc</filter-name>
    <filter-class>jodd.madvoc.MadvocServletFilter</filter-class>        
    <init-param>
        <param-name>madvoc.webapp</param-name>
        <param-value>ro.videanuadrian.smartHome.config.SmartHomeWebApplication</param-value>
    </init-param>
     <init-param>
        <param-name>madvoc.params</param-name>
        <param-value>/madvoc.props</param-value>
    </init-param>         
</filter>  

这就是我的Madvoc it1s初始化的方式:

public class SmartHomeWebApplication extends PetiteWebApplication {
final SmartHomeServiceCore serviceCore;
public SmartHomeWebApplication() {
    serviceCore = new SmartHomeServiceCore();
    serviceCore.start();     
}

/**
 * Adds configurator to Madvoc container and invokes configuration.
 */
@Override
public void configure(MadvocConfigurator configurator) {
    if (configurator instanceof AutomagicMadvocConfigurator){
        AutomagicMadvocConfigurator amc = (AutomagicMadvocConfigurator) configurator;
        amc.setExcludeAllEntries(true);
        amc.setIncludedEntries("ro.videanuadrian.*");
        registerComponent(amc);
        amc.configure();
    }
}  

还有madvoc.ops:

 madvocConfig.defaultInterceptors=ro.videanuadrian.smartHome.web.interceptors.AppInterceptorStack
 madvocConfig.fileUploadFactory.maxFileSize=-1  

在你的回答之后,我评论了madvocConfig.defaultInterceptors,但结果是一样的。

您在这里所做的似乎非常好。然而,注释可能不起作用的原因有一个:您可能使用madvoc-routes.txt吗?

正如这里所解释的,定义操作和拦截器的另一种方法是将此配置文件与路由一起使用。如果启用此选项,您可能会对注释一无所知。

请检查这是否属实,如果属实:

  • 在路由文件中定义拦截器
  • 或者删除路由并转到仅注释配置

如果不是这样的话,那么你会发现一些特定的东西(bug,换言之;),尽管这个功能是非常基本的,但如果是这样,请随时在github上发布问题:)

编辑

我做了一个网络应用程序的例子,它似乎模仿了你所做的一切。我的感应者接到电话。你能检查一下吗?

相关内容

  • 没有找到相关文章

最新更新