Files
Flash5/flash-extensions/flash-ext-view/docs/handlers.md
T

770 B

Handlers

Use ViewHandler for class-based SSR routes.

Lifecycle

  • onViewInit() runs once at boot.
  • render(...) runs per request.

Use onViewInit() to cache dependencies via require(...).

Example

@GET("/dashboard")
@Page("pages/dashboard")
public final class DashboardPage extends ViewHandler {

    private DashboardService service;

    @Override
    protected void onViewInit() {
        service = require(DashboardService.class);
    }

    @Override
    public ViewModel render(dev.relism.models.Request req) {
        return ViewModel.empty()
            .with("title", "Dashboard")
            .with("stats", service.stats());
    }
}

Use render(Request, Response) only when you need response access while building the model.