java如何使服务器端域模型可用于客户端web浏览器?
在使用Spring MVC的web应用程序中,我有一个丰富的域模型。
我想将此域模型提供给客户端web浏览器。例如,由于我的域模型包含一个类Person
,其中包含方法Set<Person> getFriends()
和DateTime getBirthday()
,因此我希望在客户端使用这些方法。使用场景包括
- 当用户请求时,动态更新访问浏览器的HTML以列出所有好友,或
- 按生日对HTML中的
persons
进行排序李>
请注意,我在这里不是为了在“视图呈现阶段”(例如JSP)中访问我的域模型。我在这里寻找在我的web应用程序的用户浏览器上访问我的域模型。例如,我不想在“视图渲染阶段”对Person
实例进行排序。我希望稍后在我的用户浏览器上进行排序
我的挑战有什么解决方案
# 1 楼答案
Javascript——有一些框架可以帮助减轻负担。您描述的场景是对某个服务的Ajax调用。您可以将数据表示为json,这将是轻量级的,并且很容易使用javascript添加到页面中
# 2 楼答案
Ember.js(特别是它的Models)和Grails在一起使用时,完全可以做你想要的事情。我相信您可以使用任何Java框架来实现这一点,但Grails让它变得非常简单。下面是一些让你开始学习的模式,但是here's a complete example app
域类:
控制器:
余烬。js应用程序:
在浏览器中,这个命令将通过从后端获取
/app/persons
来填充浏览器中的数据存储。修改浏览器中的实例将自动将更新后的实例发送到控制器您将想查看my answer on getting the two to play together in perfect harmony以了解更复杂的应用程序
# 3 楼答案
两个流行的javascript MVC框架:
http://backbonejs.org/
http://knockoutjs.com/
你可以亲自试一试。建议总是主观的,你的选择也是主观的。所以你自己去感受吧