]> source.dussan.org Git - vaadin-framework.git/commitdiff
Migrate VaadinOnGrailsMultipleUIs pr9959/r15
authorErik Lumme <erik@vaadin.com>
Tue, 12 Sep 2017 07:48:59 +0000 (10:48 +0300)
committerErik Lumme <erik@vaadin.com>
Tue, 12 Sep 2017 07:48:59 +0000 (10:48 +0300)
documentation/articles/VaadinOnGrailsMultipleUIs.asciidoc [new file with mode: 0644]
documentation/articles/contents.asciidoc

diff --git a/documentation/articles/VaadinOnGrailsMultipleUIs.asciidoc b/documentation/articles/VaadinOnGrailsMultipleUIs.asciidoc
new file mode 100644 (file)
index 0000000..3e42e65
--- /dev/null
@@ -0,0 +1,52 @@
+[[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 link:VaadinOnGrailsDatabaseAccess.asciidoc[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]
index 11c965dcee182bde2159795e173ad379951f6b66..d8b62de75e7a7dc877cbd6d222033bd7691b46c8 100644 (file)
@@ -43,3 +43,4 @@ are great, too.
 - link:IntegrationExperiences.asciidoc[Integration experiences]
 - link:VaadinOnGrailsCreateProjectInIntelliJIDEA.asciidoc[Vaadin on grails - Create project in IntelliJ IDEA]
 - link:VaadinOnGrailsDatabaseAccess.asciidoc[Vaadin on grails - Database access]
+- link:VaadinOnGrailsMultipleUIs.asciidoc[Vaadin on grails - Multiple UIs]