繁体   English   中英

如何在Java中访问Struts拦截器参数?

[英]How to access struts interceptor parameters in Java?

我在struts.xml中有以下代码:

<interceptor-ref name="checkTabsStack">
 <param name="tabName">availability</param> 
</interceptor-ref>

并且我想在拦截器例程中访问参数tabName,该怎么办? 我试过了

Map params = ActionContext.getContext().getParameters(); 

但是参数变成空的...

谢谢!

一个Interceptor对象对用于创建/配置它的xml片段一无所知,这是Struts2内部的东西。 想一想:拦截器类( 例如 )没有一些“ params”属性,它甚至可能(在理论上)由某种与您发布的struts.xml无关的机制实例化。 这是脱钩的 ,Struts2对此非常重视。

的确,某些拦截器具有一些可配置的参数。 但它们通常是特定类的属性。 在您的示例中,您的特定拦截器类(您应该知道)可能具有setTabName() getTabName() 读取struts.xml文件并实例化拦截器时,struts2将调用setter。 吸气剂是您应该注意的。 查看您的拦截器类文档。

在您的拦截器类中:

public void setTabName(String tabName) {
    // ...
}

拦截器初始化时,Struts将调用此setter。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM