在Vaadin应用程序中是否可以创建像OpenStreetMap
或jQuery
这样的JavaScript元素?
因为Vaadin网站是通过使用Java编程并让编译器自动创建DOM和JavaScript来创建的?
那么,这是否可能呢?
在Vaadin应用程序中是否可以创建像OpenStreetMap
或jQuery
这样的JavaScript元素?
因为Vaadin网站是通过使用Java编程并让编译器自动创建DOM和JavaScript来创建的?
那么,这是否可能呢?
AbstractJavaScriptComponent
创建这样的集成。
基本思路是继承此类,并使用@JavaScript
进行注释以引入所需的JS库。然后编写一个全局函数,将您的库设置在DOM中(您将拥有一个<div>
可供使用)。您的组件可以保持状态,服务器端可以调用客户端上定义的函数(同时发送例如状态),而客户端可以调用服务器端函数(将参数作为JSON传递)。
有一些简单而廉价的解决方案,虽然从长远来看不是最好的选择,但它们可能已经足够:
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
请注意,如果您正在尝试创建一些可重复使用的组件,这不是正确的答案。