2014-01-20 65 views
0

我對Spring和Web應用程序相當陌生。所有頁面的字體大小

我在控制器中創建包含字體大小的對象,然後將其添加到模型中。

private String fontSize = "24"; 

@RequestMapping(value = "/", method = RequestMethod.GET) 
public final ModelAndView mainGet(final HttpServletRequest request, final HttpServletResponse response) 
     throws ServletException { 

    ModelAndView model = new ModelAndView("home"); 
    model.addObject("fontSize", fontSize); 

    return model; 
} 

我把它傳遞給JSP,在那裏我使用jQuery設置字體大小。 在應用程序中,我有按鈕來更改字體大小...一切正常,但是當我刷新或更改頁面時,這些設置將丟失。

如何將該值保存在模型中?每當我改變尺寸時,我是否應該通過AJAX進行郵寄呼叫?

回答

1

有服務器端和客戶端之間的背和反覆的無自動設定。如果您在客戶端進行了更改,比如說使用jQuery,並且希望堅持更改,則必須將值存儲在某個位置。您可以在服務器端執行此操作,例如,在首選項數據庫或servlet容器的會話中。或者,您可以在客戶端執行此操作,例如使用本地存儲或Cookie。你甚至可以將它作爲狀態對象的一部分存儲在你的HTML中,並且在你瀏覽網站時將狀態對象傳遞給你。

存儲它的正確位置取決於您的使用案例和系統設計。您可以肯定地使用AJAX發佈每次用戶進行更改時更新的值,這意味着您需要一種方法來處理它並在某處保留該值,如以下(未經測試)代碼所示:

@RequestMapping(value = "/prefs/fontSize", method = RequestMethod.PUT) 
public void putFontSize(@RequestBody String fontSize) 
     throws ServletException { 
    // persist fontSize here. 
} 
0

歐凱,我設法它...

我下載的jQuery插件餅乾,我想保存此值的最佳方法是使用一個Cookie(或者也許這只是最簡單的方法)來完成。

這是鏈接到插件我用:

jQuery Cookie Plugin

相關問題