examples package: Using Gloop to render a JSP
Gloop is brilliant at integration; and thanks to its seamless integration with Spring Web MVC, it is also capable of running full-blown web applications! Martini supports the creation and mapping of web pages the Spring way. But instead of Groovy code, did you know you can use Gloop to create your controller and populate your page with models1?
The examples package includes a sample service, API, and JSP page that shows how you can map and
render a JSP page using Gloop.
Related articles
Please see the following articles for more information:
Try it!
To see the JSP page yourself: ensure that the examples package is started and then visit
<host>/api/jspResponse/page2 or visit the examples package web examples at <host>/examples/web-examples.jsp2
on your browser.

There, you will see the form above. Populate the form and submit it to see data get rendered. You will notice that upon submission, the data you entered will be visible above the form.

To see the files related to this example (and experiment with the results), expand the
examples package in the Navigator and navigate to the
code folder, then expand the jspResponse package. This package contains the
.api file that defines the controller and the
service responsible for mapping the values shown in the view.
1 2 3 4 5 6 7 8 9 10 | |
In addition to this, the JSP page, named sample.jsp, is visible in the example package's web directory.
Explanation
To serve web content via Spring and Gloop, here are the steps you should follow:
- Put your JSP file under your package's
webdirectory. - Create a service with an output variable named
$gloopView. - Set the
$gloopViewvariable's value so that it is equal to the basename3 (extension-excluded filename) of the JSP file.
-
See MVC pattern. ↩
-
<host>must be substituted with the base URL of your Martini instance. This URL will depend on the where your instance is hosted and how you've configured your server. ↩↩ -
Although in general, what you should return also depends on the requirements of the configured
ViewResolver. ↩