如何在vaadin中集成javascript(例如OpenStreetMap)?

时间:2015-07-14 14:22:03

标签: javascript java vaadin

是否可以在vaadin应用程序中创建OpenStreetMapjQuery等javascript元素?

因为vaadin网站是通过java编程创建的,并让编译器自动创建DOMJavaScript吗?

那么,它有可能吗?

3 个答案:

答案 0 :(得分:3)

您可以使用AbstractJavaScriptComponent

创建此类集成

这里的基本思想是将这个类子类化,用@JavaScript注释以引入所需的JS库。然后编写至少一个全局函数,在DOM中设置你的lib(你可以使用<div>)。您的组件可以保持状态,服务器端可以调用客户端上的已定义函数(同时发送例如状态),客户端可以调用服务器函数(作为JSON传递的参数)。

The Wiki has an example how to include such a component

答案 1 :(得分:1)

答案 2 :(得分: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

请注意,如果您尝试执行一些可重复使用的组件,则这不是正确的答案