我在 struts.xml 中有以下代码:
<interceptor-ref name="checkTabsStack">
<param name="tabName">availability</param>
</interceptor-ref>
我想访问拦截器例程中的参数 tabName,我该怎么做?我试过了
Map params = ActionContext.getContext().getParameters();
但是参数是空的...
谢谢!
最佳答案
拦截器对象应该对用于创建/配置它的 xml 片段一无所知,这是 Struts2 的内部内容。想一想:拦截器类 ( eg ) 没有某些“params”属性,它甚至可能(理论上)由与您发布的 struts.xml 无关的某种机制实例化。这是解耦,Struts2 非常重视这一点。
没错,一些拦截器有一些可配置的参数;但它们通常是特定类的属性。在您的示例中,您的特定拦截器类(您应该知道)可能具有方法 setTabName()
getTabName()
。 struts2在读取struts.xml文件并实例化拦截器时会调用setter。 setter/getter 是你应该照顾的。查看您的拦截器类文档。
关于java - 如何在Java中访问struts拦截器参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3027202/