123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- ---
- title: Vaadin On Grails Multiple UIs
- order: 37
- layout: page
- ---
-
- [[vaadin-on-grails-multiple-uis]]
- = Vaadin on grails - multiple UIs
-
- _Versions used in this tutorial: Grails 2.3.x, Vaadin 7.1.x. News and
- updates about Vaadin on Grails are available on
- https://twitter.com/VaadinOnGrails[VaadinOnGrails]. This is continuation
- of <<VaadinOnGrailsDatabaseAccess#, Vaadin on Grails - Database access>>_
-
- In `grails-app/conf/VaadinConfig.groovy`, we can change URL mapping to
- UI. Also, we can define multiple UIs to be accessible from one Grails
- application.
-
- Create two new UIs that we will show under different URLs. `ClientUI`
- will be available on http://localhost:8080/client and `ServerUI` on
- http://localhost:8080/server
-
- [source,java]
- ....
- class ClientUI extends UI {
- protected void init(VaadinRequest request) {
- VerticalLayout layout = new VerticalLayout()
- layout.setMargin(true)
- Label label = new Label("Client")
- layout.addComponent(label)
- setContent(layout)
- }
- }
-
- class ServerUI extends UI {
- protected void init(VaadinRequest request) {
- VerticalLayout layout = new VerticalLayout()
- layout.setMargin(true)
- Label label = new Label("Server")
- layout.addComponent(label) setContent(layout)
- }
- }
- ....
-
- Open `VaadinConfig.groovy` and change the mapping, so the mapping points
- to the new UIs.
-
- ....
- mapping =
- [ "/client/*": "app.ClientUI",
- "/server/*": "app.ServerUI"]
- ....
-
- Now we can start up the application and access both URLs to see each is
- mapped to different UI class.
-
- image:http://vaadinongrails.com/img/mapping-uis.png[Mapping UIs]
|