簡體   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