【问题标题】:Struts2 - How to filter (with Interceptors) a page when it isn't rendered after an ActionStruts2 - 如何在操作后未呈现页面时过滤(使用拦截器)页面
【发布时间】:2011-05-24 06:56:48
【问题描述】:

我想知道(在 Struts2 上)是否可以将拦截器应用于单个 jsp 页面。例如:当我第一次加载我的应用程序时,我只是调用了一个 jsp(没有任何操作)。我知道如何在动作之前/之后放置拦截器,但是对于 JSP?有可能吗?

干杯

【问题讨论】:

    标签: jsp struts2 interceptor


    【解决方案1】:

    Struts 仅适用于动作,因此无法在没有动作的情况下应用拦截器,但我认为您可以实现所需的效果:

    在您的 struts.xml 文件中,您可以将操作定义为:

        <action name="textAction">
            <result>myjsp.jsp</result>
        </action>
    

    所以 'textAction' 呈现 myjsp.jsp... 查看 struts 文档,您可以在包级别设置拦截器(如果您在包中只有一个操作,您可以获得所需的行为),或者您甚至可以指定拦截器堆栈按动作进行。

    如果您想做更少的工作...您应该将 struts2-conventions-plugin 添加到您的类路径中。有了它,您可以在很大程度上避免使用 struts.xml。

    所以你不能摆脱动作,每个请求都应该是一个动作......但是你不必为每个动作创建一个类,并且使用约定插件你甚至不需要更新你的struts.xml 只是放在 jsp 中。如果没有 struts.xml 或在那里注释类,应用您的自定义拦截器将是一个挑战。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      • 2018-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多