使用Spring抽象Web应用程序

时间:2011-06-13 14:42:52

标签: spring jsp spring-mvc

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

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

我确定了需要抽象的不同元素,并希望了解使用Spring实现抽象的最佳实践。

  • 静态HTML页面,如contact us信息。

当前实现是一种与contact.jsp页面耦合的控制器方法。

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

Spring正在contact.jsp中寻找/WEB-INF/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获取?

  • UI

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

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

versions.supported = 2, 3

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

1 个答案:

答案 0 :(得分:0)

因为您正在使用maven,为什么不将您的通用项目包作为战争?这将解决您的问题。此外,您特定于域的项目可以在需要时覆盖通用项目文件。我在具有类似要求的项目上工作。您总会发现需要覆盖通用项目文件的情况。