我想使我的Spring應用程序中的請求映射成爲動態的。這樣我的網址就無法被理解了。而且我可以向用戶展示任何沒有意義的東西,並且仍然可以解決映射目的。在Spring框架中使用帶有靜態最終變量的@Value註釋
爲此,我將URL的動態部分存儲在屬性文件中。並想在@RequestMapping
註釋中使用它。同樣的事情將在JSP的客戶端完成。我將從屬性文件中讀取值,然後創建href。
我使用@Value
註釋來讀取屬性文件值。
有一個類在最終的靜態變量中保存所有這些值。
public class UrlMappingAbstraction {
public static final @Value("#{urlAbstractionProperties['url.message']?:'message'}") String MESSAGE = "";
}
而我在我的控制器中擴展這個類,並在下面的@RequestMapping註釋中使用靜態final字段。
@RequestMapping(value="/"+MESSAGE+"/{id}", method=RequestMethod.GET)
而且在JSP中還我讀書用<spring:message/>
和生成HREF的URL從屬性文件中的值。
問題是jsp能夠根據屬性文件的值創建正確的url,但在@RequestMapping註解中我的值沒有被替換。
有人可以告訴我確切的問題嗎?我知道我們不能在初始化後改變靜態final變量的值。那麼@Value註釋有什麼用處。
如果這可以做另一種方式,那麼你也可以讓我看看它。
在此先感謝。
第二個選項看起來更有希望我因爲這將是更具挑戰性。 :-D 我不想去的第一選擇,因爲我已經想通了問這個問題之前。我發現它將需要更多的配置,加上我已經重載的項目中額外依賴的開銷。 感謝您的幫助。一旦我回到我的辦公室,我會檢查一下並回到你身邊。 :) –