Examples
Complete examples showing JWeb patterns.
Counter
State<Integer> count = useState(0);
div(
h1("Count: " + count.get()),
button(onClick(e -> count.update(c -> c + 1)), "+"),
button(onClick(e -> count.update(c -> c - 1)), "-")
)User Card
class User {
String getName() { return "Ada"; }
String getEmail() { return "ada@example.com"; }
boolean isAdmin() { return true; }
}
public class UserCard implements Template {
private final User user;
public UserCard(User user) { this.user = user; }
public Element render() {
return div(style()
.padding(rem(1)).backgroundColor(white)
.borderRadius(px(8)).boxShadow(px(0), px(2), px(8), rgba(0,0,0,0.1)),
h3(user.getName()),
p(user.getEmail()),
when(user.isAdmin(), () -> UI.badge("Admin"))
);
}
}Data Table
class User {
String getName() { return "Ada"; }
String getEmail() { return "ada@example.com"; }
long getId() { return 1; }
}
List<User> users = List.of(new User());
table(
thead(tr(th("Name"), th("Email"), th("Actions"))),
tbody(each(users, user -> tr(
td(user.getName()),
td(user.getEmail()),
td(
button(onClick(call("editUser", String.valueOf(user.getId()))), "Edit"),
button(onClick(call("deleteUser", String.valueOf(user.getId()))), "Delete")
)
)))
)More examples coming soon.