如何在Vaadin中集成JavaScript(例如OpenStreetMap)?

4

在Vaadin应用程序中是否可以创建像OpenStreetMapjQuery这样的JavaScript元素?

因为Vaadin网站是通过使用Java编程并让编译器自动创建DOM和JavaScript来创建的?

那么,这是否可能呢?


我认为这篇文章可以帮助您。 http://www.codeproject.com/Tips/863105/Vaadin-jQuery-UI-Integration - Athi
2个回答

3
您可以使用AbstractJavaScriptComponent创建这样的集成。

基本思路是继承此类,并使用@JavaScript进行注释以引入所需的JS库。然后编写一个全局函数,将您的库设置在DOM中(您将拥有一个<div>可供使用)。您的组件可以保持状态,服务器端可以调用客户端上定义的函数(同时发送例如状态),而客户端可以调用服务器端函数(将参数作为JSON传递)。

Wiki上有一个示例如何包含此类组件.


0

有一些简单而廉价的解决方案,虽然从长远来看不是最好的选择,但它们可能已经足够:

1)

如果您只想呈现一些HTML内容,可以将其插入标签的值中,并将其内容模式更改为HTML。

https://vaadin.com/book/-/page/components.label.html

2)

如果您只想在 UI 事件之后执行一些 JavaScript 代码,可以调用 Javascript.getCurrent().execute(javascriptCode)。

https://vaadin.com/book/vaadin7/-/page/advanced.javascript.html

请注意,如果您正在尝试创建一些可重复使用的组件,这不是正确的答案。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接