0

情况:我有一个应用程序为每个特定国家使用单独的 jsp 文件(我已经使用视图解析器实现了)。但是,使用这种方法,即使该页面没有特定更改,我也必须为每个国家/地区重复 jsp 更改。
示例:对于“en”主题的用户,我的发票页面与“de”主题的用户不同,布局和逻辑不同。转到同一个控制器并根据用户执行不同的操作。
但大多数时候逻辑和 jsp 页面是相同的(例如帐户列表)。
问题:如何保持此逻辑并为该特定操作创建后备页面?如果存在 /de/invoice.jsp 就使用这个,否则使用 /invoice.jsp(就像 drupal 中的主题一样)
我使用tomcat作为应用服务器。

有什么建议吗?

(请注意,我所说的“主题”并不是指 Spring 对主题的支持,而是说 Spring 的主题可以解决一般问题。)

4

1 回答 1

0

基本上你只想<jsp:include>动态选择一个页面。

假设您将要包含的页面名称放入名为“invoicePage”的变量中。然后,视图解析器中引用的页面模板可以包含该变量,如下所示:

<jsp:include page="${invoicePage}"/>

因此,唯一的技巧是选择正确的 invoicePage。

Spring 主题对此有一个很好的解决方案:将特定于主题的包含名称放在特定于主题的属性文件中,Spring 会为您处理回退到默认值。

或者,您可以实施自己的,可能基于列出具有特定内容的国家或基于每个国家/地区设置指标的配置。哪种解决方案合适取决于您如何配置应用程序的其余部分。

于 2011-10-08T17:42:47.783 回答