1

我有一个使用 Struts2 作为 MVC 框架的网站。我需要重新设计 JSP。我需要让旧的 JSP 与新的 JSP 一起可访问。所以我添加了一个根文件夹/newdesign/并将所有现有的 JSP 文件夹复制到其中。

因此,如果我使用名称/值对登录?newdesign=true(例如)我是初始请求,那么我可以:

  1. 将其存储在用户的会话中,然后
  2. 动态地将/newdesign/作为全局前缀添加到<result>确定struts.xml是否为相关的Action.

通过这种方式,开发人员可以检查是否所有旧页面都已重新换皮到新页面中。

我该怎么做上面的第 2 部分?

我看过使用

struts.convention.result.path = /newdesign

但这不是动态的,如果要向用户显示旧的或新的 JSP,我无法更改它。

4

1 回答 1

0

如果您知道第 1 部分,那么假设您可以将参数设置为应该重定向到包含与您的参数对应的名称空间的其他包的适当操作的操作newdesign

URL 中使用操作名称的前缀来指定命名空间以分隔包中的操作。因此,将newdesign通过不同的命名空间进入单独的模块。

现在您有两个模块,它们具有相同的操作名称和结果,但位置不同,具体取决于命名空间。您应该在具有自己命名空间的不同包中配置它们。有一个示例可以让您更好地理解命名空间的概念。

为了简化您的包配置,您可以通过通配符映射在命名空间中使用参数。

于 2013-05-13T21:43:43.707 回答