2014-01-20 69 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

相关问题