繁体   English   中英

使用 Spring 抽象 web 应用程序

[英]Abstract a web application using Spring

我们有一个特定于域的 web 应用程序。 通过特定领域,我的意思是某些值和行为是硬编码的,并且不够通用以处理新领域。 因此,我们正处于抽象应用程序并使其对新领域更加开放的阶段。

我们正在使用 maven、spring 和 JSP。 这个想法是有一个通用的项目和一个包含资源的域项目。 最终的应用程序将是通用应用程序和域资源之一的组合。

我确定了我们需要抽象的不同元素,并想知道使用 Spring 实现抽象的最佳实践。

  • Static HTML 页面喜欢contact us的信息。

当前的实现是一个controller方法加上一个contact.jsp页面。

@RequestMapping("/contact.htm")
public ModelAndView handleRequest(HttpServletRequest request,
        HttpServletResponse response) {
    return new ModelAndView("contact");
}

Spring 正在/WEB-INF/jsp/contact.jsp中寻找页面contact.jsp

<bean id="viewResolver"
      class="org.springframework.web.servlet.view.UrlBasedViewResolver">
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
    <property name="prefix" value="/WEB-INF/jsp/"/>
    <property name="suffix" value=".jsp"/>
</bean

我添加了一个包含contact.jsp的新依赖项。 my-resources.jar中,我在/WEB-INF/jsp/contact.jsp下有 jsp 文件。 有没有办法将 viewResolver 配置为从 jar 获取文件作为资源,而不是将文件作为File系统上的文件获取?

  • 用户界面

我们有一个单选按钮,允许用户在多个版本之间进行选择。 并非所有版本都适用于所有域,因此对于一个域,将仅显示 2 个版本,而对于另一个域,将显示 4 个版本。

想法是在my-resources.jar中创建一个属性文件来配置 UI。

versions.supported = 2, 3

访问属性文件的最佳方法是什么,因为几乎所有控制器都需要它?

因为您使用的是 maven,为什么不让您的通用项目 package 成为战争? 这将解决您的问题。 此外,如果需要,您的域特定项目可以覆盖通用项目文件。我从事具有类似要求的项目。 您总会发现需要覆盖通用项目文件的情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM