\");`","content":"
new Element(\"<div/>\");
new Element(\"<div>\");
ElementFactory.createDiv();
Given an input element with
Element element = ElementFactory.createInput();\nelement.setProperty(\"value\", \"42.2\");
Which statements are true?
element.getProperty(\"value\", true)
returns true as a boolean
.
element.getProperty(\"value\", 0)
returns 42 as an int
element.getProperty(\"value\")
returns \"42.2\" as a String
.
Is PolymerTemplate
a Component
?
Yes, it’s a component, so can be added to a layout directly.
No, it’s not a component, needs to call polymerTemplate.asComponent() to get the component before adding it to a layout.
Given the code below,
class MainPage extends PolymerElement {\n\n static get template() {\n return html`\n <div>\n <h1>Header</h1>\n </div>\n <div id=\"content\">\n some text\n </div>\n }\n\n static get is() {\n return 'main-page';\n }\n}
@Tag(\"main-page\")\n@JsModule(\"./main-page.js\")\npublic class MainPage extends P...{\n\n @Id(\"content\")\n private Div content;\n\n}
Which statements are true?
content.getText()
will return \"\"
.
Call content.setText(\"other text\")
on the server-side, the text in the client-side element will be updated to \"other text\".
content.getText()
will return \"some text\"
.
Call content.setText(\"other text\")
on the server-side, text in the client-side element will stay as \"some text\"
How to connect a client side Polymer element to server side Java?
Add @Tag
annotation to specify the tag name of the element
Add @Connect
annotation with element tag name to connect to the element
Create a server side class which extends from PolymerTemplate
Add @JsModule
annotation to specify the location of the element file
Given the code below,
class AppHeading extends PolymerElement {\n\n static get template() {\n return html`\n Hello: <slot></slot>`;\n }\n\n static get is() {\n return 'app-heading';\n }\n}
<app-heading>\n <span>Vaadin</span>\n <span>World</span>\n</app-heading>
What would be the output?
Hello: World
Hello: Vaadin
Hello: Vaadin World
Hello:
In a PolymerTemplate, how can you do data binding with list values, e.g. an employee list?
You can use a <template is=\"dom-repeat\">
element to display a list’s items.
When showing a list-type property in a template, each individual item can be accessed with the item
property by default.
On a server side event handler, the index of an item is available via @RepeatIndex
.
Which statements are true regarding @Id
annotation?
On the server side, it can be an Element
.
On the server side, it must be an exactly matching component only, e.g. a <div>
on the client-side must bind to a Div
component on the server-side.
It binds a client-side element with an id
attribute to the server-side.
In a Polymer template, what will happen if you define a click handler for a button both on the client-side with JavaScript and on the server-side with @EventHandler
annotation?
Only the client side handler will be executed.
Only the server side handler will be executed.
Both the client-side and server-side handlers will be executed, however it’s not guarenteed which handler will be executed first.
Both the client-side and server-side handlers will be executed, the client-side handler will be executed first.
In a PolymerTemplate, can you do data binding to attributes. e.g. the style
attribute of a <div>
element?
No, you can only do data binding to properties.
Which one of the following is wrong regarding data binding with TemplateModel?
It can bind to simple properties, e.g. {{name}}
It does not support certain types, e.g. long
.
It supports all possible Java types.
It can bind to sub properties, e.g. person.firstName
.
Can you make a Grid responsive?
No, it’s not possible to make Grid responsive.
Yes, you can for example show fewer columns on smaller screens.
Can you do responsive design from server side with Java?
You can add a BrowserWindowResizeListener to detect changes to the browser window size and change the UI accordingly.
You can detect the presence of a touch screen, platform, device information etc and construct the UI accordingly
No, it’s only doable on the client side via CSS
You can add a callback for browser details and adjust components based on screen resolution
Which of the following are true about Vaadin Board?
It supports up to 4 rows.
It’s based on columns and rows.
It’s an automatic responsive layout component.
It supports up to 4 columns.
Vaadin certification is the best way to communicate your expertise in building web applications with Vaadin 14. To pass this exam you should already have a solid knowledge of Vaadin fundamentals. Possibly you have participated in a Vaadin training, read the Vaadin Docs or built some applications with Vaadin.
Each question in the exam is worth one point. Most of the questions are multi-select questions that you need to get all of the options correctly to get the point. Remember that your answer is locked when you move to the next question. There is no going back.
You need to get at least 60% correct to pass the exam, and there is a 60 minutes time limit. If you do not pass, you can retake the exam after 16 hours.
It didn’t go quite as we all hoped for, but you should know that the exam is very hard to pass. We are confident that you will succeed with little more work!
Here are some ideas on how to improve your score.
Read our Docs.
Watch our tutorial videos.
Practice, practice, practice.
You’re now part of the elite group of Vaadin certified developers. Don’t be shy about it - why not add it to your LinkedIn or Stack Exchange profile?
You can download and print your certificate from the certification main page.