jwebmp-vertxlisted
Install: claude install-skill GuicedEE/ai-rules
# JWebMP Vert.x
Portable connector between JWebMP and Vert.x 5, powered by GuicedEE.
## Core Features
- **Automatic Page Routing** — `@PageConfiguration` classes auto-registered
- **AJAX Event Pipeline** — Fully reactive request handling
- **Data Component Servlet** — Serves `IDataComponent` as JSON
- **CSS Endpoint** — On-demand CSS rendering
- **Site-Loader Script** — JS bootstrap template
- **WebSocket Broadcasting** — Event bus bridge (direct or STOMP)
- **User-Agent Detection** — Per call-scope via UADetector
- **Call-Scope Integration** — Every handler enters `CallScope`
## Quick Start
### 1. Annotate a Page
```java
@PageConfiguration(url = "/")
public class HomePage extends Page<HomePage> { }
```
### 2. Start GuicedEE
```java
IGuiceContext.instance().inject();
// Routes registered automatically
```
### 3. Routes Created
- `GET /` — serves `HomePage`
- `GET /jwscr` — site-loader script
- `POST /jwajax` — AJAX event receiver
- `GET /jwdata` — data component endpoint
- `GET /jwcss` — CSS endpoint
## HTTP Routes
| Route | Method | Handler | Purpose |
|---|---|---|---|
| `@PageConfiguration.url()` | GET | `configurePageServlet` | Renders annotated `IPage` as HTML |
| `/jwajax` | POST | `configureAjaxReceiveServlet` | Processes AJAX event calls |
| `/jwdata` | GET | `configureDataServlet` | Serves `IDataComponent` JSON |
| `/jwcss` | GET | `configureCSSServlet` | Renders page-level CSS |
| `/jwscr` | GET | `configureInternalDataServlet` | Serves site-loader JS |