Rapidoid - Extremely Fast, Simple and Powerful Java Web Framework!

Open source (Apache license). View benchmark... Community: [email protected]

Rapidoid consists of several modules which can be used separately or together:
Add rapidoid-gui as Maven dependency:
<dependency>
    <groupId>org.rapidoid</groupId>
    <artifactId>rapidoid-gui</artifactId>
    <version>5.4.6</version>
</dependency>
docker run rapidoid --help
Module rapidoid-gui

Web GUI Components (based on Bootstrap + Angular)

  • Consists of Web GUI components that generate HTML (grids, forms and other widgets).
  • Most of the GUI components are based on the Twitter Bootstrap framework.
Map<Integer, String> nums = U.map(1, "one", 5, "five");{"1":"one","5":"five"}
 
// Creating a grid (table) from the nums map
GUI.grid(nums);<GUI widget that generates HTML on .toString() call>KVGrid
Key Value
1 one
5 five
 
// Custom table headers
GUI.grid(nums).headers("Number", "As Text");<GUI widget that generates HTML on .toString() call>KVGrid
Number As Text
1 one
5 five
 
// Custom views for the keys and values
GUI.grid(nums)
        .keyView(k -> GUI.b(k))
        .valueView(v -> v + "!");<GUI widget that generates HTML on .toString() call>KVGrid
Key Value
1 one!
5 five!
GUI.btn("OK");<GUI widget that generates HTML on .toString() call>Btn
 
GUI.btn("Hey").primary();<GUI widget that generates HTML on .toString() call>Btn
 
GUI.btn(GUI.b("Delete")).danger();<GUI widget that generates HTML on .toString() call>Btn
 
GUI.btn(GUI.fa("cog"), " Something else").warning();<GUI widget that generates HTML on .toString() call>Btn
 
GUI.btn("Cancel").go("gui.html");<GUI widget that generates HTML on .toString() call>Btn
Map<String, Object> movie = U.map("Title", "Hackers", "cool", true);{"Title":"Hackers","cool":true}
 
// Creating a form to edit the movie map
GUI.edit(movie);<GUI widget that generates HTML on .toString() call>Form
 
// Adding form buttons
GUI.edit(U.map("Title", "")).buttons(GUI.btn("OK"));<GUI widget that generates HTML on .toString() call>Form