예 :
HTML 파일과 JavaScript 파일이 있습니다. 두 파일이 브라우저에서 직접 열리는 경우. 그것은 일이 될 수 있습니다.
이 파일을 Vaadin Frame에 넣고 실행중인 @JavaScript annotation을 사용하는 경우 정적 HTML 만 표시합니다.
자바 스크립트와 HTML 페이지 사이의 통신 만 필요하며 서버가 필요 없습니다. 여기
내 코드Vaadin 8 : 반환 된 웹 페이지에 JavaScript 파일을 포함하여 실행하는 방법
html로 (example.html) :
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Js Test Uses</title>
<script type="text/javascript" src="mylibrary.js"></script>
</head>
<body>
<div id="foo"></div>
<script type="text/javascript">
window.foo = new mylibrary.MyComponent(document.getElementById("foo"));
window.foo.click = function() {
alert("Value is " + this.getValue());
}
</script>
</body>
</html>
mylibrary.js
var mylibrary = mylibrary || {};
mylibrary.MyComponent = function (element) {
element.innerHTML = "<div class='caption'>Hello, kitty!</div>"
+ "<div class='textinput'>Enter a value: "
+ "<input type='text' name='value'/>"
+ "<input type='button' value='Click'/>"
+ "</div>";
element.style.border="thin solid red";
element.style.display="inline-block";
this.getValue = function() {
return element.getElementsByTagName("input")[0].value;
};
this.setValue = function (value) {
element.getElementsByTagName("input")[0].value = value;
};
this.click = function() {
alert("Error: Must implement click() method");
};
var button = element.getElementsByTagName("input")[1];
var self = this;
button.onclick = function() {
self.click();
};
};
만약 angel (MyUI.java) :
@Theme("mytheme")
@JavaScript("mylibrary.js")
public class MyUI extends UI {
private static final long serialVersionUID = -6891373465168098637L;
@Override
protected void init(VaadinRequest vaadinRequest) {
CustomLayout layout = null;
try {
layout = new CustomLayout(MyUI.class.getResourceAsStream("examples.html"));
} catch (IOException e) {
e.printStackTrace();
}
setContent(layout);
}
@WebServlet(urlPatterns = "/*", name = "MyUIServlet", asyncSupported = true)
@VaadinServletConfiguration(ui = MyUI.class, productionMode = false)
public static class MyUIServlet extends VaadinServlet {
private static final long serialVersionUID = -9170703857949837824L;
}
}
this is my project package explorer image, is a initial project.
this is my project source(zip)
에 포함
javascript
에 선언하는 기능입니다등의 작업을 수행 할 수 있습니다 너의 프로젝트? – pirho