我是struts&我们正在使用jsp&在我们的项目中struts 1.3.10(其中一些操作也是Spring配置)。 Web应用程序设计为每个Web页面都有一个单独的操作类,并具有struts-config.xml中所需的所有操作映射。 还有一个“BaseAction”类,它从我们的Web应用程序中的“Action”扩展而来,我们已经在我们的Web应用程序中进行了所有剩余的操作,以扩展此基本操作。这个BaseAction类没有执行方法。
我想做什么
我想要包含一个简单的java方法,比如checkOfficeHours
,它会在每次呈现页面时检查办公时间。也就是说,我希望每次调用一个动作时都执行这个方法。
此方法还将为我的jsp设置一个请求属性。
因此它是所有操作的通用代码,但我不希望在所有java类中编写相同的方法。有没有一种方法可以在BaseAction类中编写这个方法,它自动由每个动作自己执行,而不必从每个动作类中显式调用它?
我可以使用setToken(HTTPServletRequest)
方法执行此操作吗?我一直在网上搜索,但用struts 1.3找不到多少。
非常感谢任何投入。
我可以在Base ActionForm&中使用构造函数吗?使所有ActionForms从基础扩展?我可以确定总是会为ActionForm调用构造函数吗?
答案 0 :(得分:0)
在对象创建期间如何调用构造函数 ?
也就是说,如果您将某些内容放入请求范围内(例如,不在表单中),则可以考虑使用自定义请求处理器或过滤器。
最后,如果这是应用程序范围的行为那么为什么要将它放在每个请求(过滤器或自定义请求处理器)或甚至在动作实例化期间发生的事情中呢?将它放在过滤器中,检查每天是否已按照请求滚动(仍需要执行此操作),并将其放在 application 范围内。