[英]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.