---
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]
