2012-07-19 64 views
1

我有我认为可能是一个奇怪的问题要问。将JavaScript框架与Java Web框架集成

最近我在玩一些java web框架(带有primefaces的jsf),我注意到它在处理表单数据或者当你和jsf组件一起玩时非常好。我也使用Grails做了一个项目,并且它对表单数据很有用。

但是,当你想要做一些需要一点点偏差的时刻;然后我发现自己做了奇怪的事情(例如,使用primefaces和带有grails的单页webapp表单的强大值的标签云)。

这导致了一些非常凌乱的html + javascript代码,用于我的grails事物(这归咎于我对javascript的缺乏经验)。这是因为我使用表达式语言(在这种情况下是grails)来填充一些javascript。最糟糕的部分是,我有一堆自定义JavaScript代码与我的服务器页面内联(我可以重构一点点,但我认为在单个页面内仍然会有很多javascript调用)。

所以,现在的问题(S):)

  • [主要问题]有没有演示了如何设计,或者至少实现与服务器页面(GSP,XHTML等)维护JavaScript的任何资源?

原因是我发现有一些整齐的javascript框架,但如果考虑到服务器端框架的表达式语言,那么在服务器页面中使用它们似乎有点不自然?除非这种类型的东西是正常的:)?

  • 是否有适合使用java的单页webapps的框架?

我现在的答案是GWT,Vaadin(基于GWT),也许JavaFX有资格。也许ZK,Flex和(Grails/Roo + Flex/GWT)也符合资格?

  • java web框架对于表示层仍然有用吗?

我当前的答案是,他们可能是当你处理门户类型的webapps或Web 1.0应用程序缺乏一个更好的词。另一种情况是,当你使用大量基于角色的安全性时,他们可能会出现这种情况,并且你想根据角色过滤掉所有事情,但即使这样也有反驳的论点。 我对此的其他答案是,使用java服务器提供您的Web服务,然后依靠其他方式来执行前端可能会更好?

+0

http://en.wikipedia.org/wiki/Unobtrusive_JavaScript – Quentin 2012-07-19 08:45:36

回答

1

这可能是OP,但对于单页面应用程序,通过JSON(P)/ XML /任何方式从服务器提供数据更容易,然后使用Backbone之类的东西来相应地处理和修改视图。这样,服务器就可以使用REST/SOAP/websockets /任何东西,并且浏览器应用程序变成一个完整的应用程序。

我还没有真正做到这一点,所以不要引用我,但我想它应该是有道理的。