跳至主要内容

Introduction

webforJ in six screens. The whole framework, start to finish.

webforJ is the full-stack Java framework for business web apps: you build the whole app, screens included, in Java. This tour walks through it in six short screens, from your first Java class to the AI tooling. It takes about five minutes.

  1. 01什么是 webforJ
  2. 02组件与主题
  3. 03craftforJ
  4. 04数据、表单和安全性
  5. 05您现有的代码
  6. 06AI 工具与下一步

01什么是 webforJ

一个屏幕是 一个 Java 类。

webforJ 是面向业务 Web 应用的全栈 Java 框架:整个应用,包括界面,都用 Java 构建。

  • 路由会使其成为一个页面。 在类上添加 @Route,即可在浏览器中通过该地址访问。
  • 组件是字段。 使用 new 创建它们,并用 lambda 响应点击。
  • Java 或 Kotlin。 Kotlin DSL 使用相同组件构建相同界面。
了解更多:Kotlin DSL
HelloView.java
@Route("/hello")
public class HelloView extends Composite<FlexLayout> {
private final FlexLayout self = getBoundComponent();
private TextField name = new TextField("What is your name?");
private Button greet = new Button("Say hello");

public HelloView() {
greet.setTheme(ButtonTheme.PRIMARY)
.addClickListener(e ->
Toast.show("Welcome, " + name.getValue() + "!",
Theme.SUCCESS));
self.add(name, greet);
}
}
localhost:8080/hello点击后

运行视图显示一个标注为“你叫什么名字?”的文本框、一个“打招呼”按钮,点击后会显示“欢迎,Lauren!”的成功提示。

02组件与主题

已构建的组件 适用于企业应用。

webforJ 内置字段、列表、对话框、上传组件、图表、树和布局。每一种都是你在屏幕中创建的 Java 类。

主题从种子色开始。设置主种子色,调色板的全部 19 个色阶便会应用于所有组件。

app.css
:root {
--dwc-color-primary-seed: #6366f1;
}
了解更多:组件
webforJ Login 组件webforJ Login 组件
Login
webforJ ComboBox 组件webforJ ComboBox 组件
ComboBox
webforJ Upload 组件webforJ Upload 组件
Upload
webforJ GoogleCharts 组件webforJ GoogleCharts 组件
GoogleCharts
webforJ Slider 组件webforJ Slider 组件
Slider
webforJ Terminal 组件webforJ Terminal 组件
Terminal

03craftforJ

看看你的 Java 构建的应用。 运行时更改它。

craftforJ 是一款在开发模式下运行于应用内的可视化编辑器。它会显示 Java 代码创建的组件树,让你实时修改属性,并将保留的更改写回 Java 源代码。

  • 检查组件。 浏览组件树,在页面中单击组件以选中它,并在应用运行时更改其属性。
  • 将更改写入源代码。 以差异形式查看实时编辑,并将其应用到对应的 Java 文件。
  • AI 助手 运行中的应用内,编码代理会编写 Java、编译代码,并在你批准后应用。
了解更多:craftforJ
craftforJ

04数据、表单与安全

表单、规则和访问权限, 就在您的后端旁边。

  • 绑定 BindingContext 会将表单字段与 Bean 绑定,并在写回表单时检查 Jakarta 验证规则。
  • Spring Boot. 视图通过构造函数注入使用您的服务、仓库及其他 Spring Bean。
  • 安全 像 @RolesAllowed 这样的注解用于保护路由,规则会在渲染任何组件之前执行。
了解更多:展示
CustomerFormView.java
public class CustomerFormView extends Composite<FlexLayout> {
private TextField name = new TextField("Name");
private TextField email = new TextField("Email");
private Customer customer = new Customer();

private BindingContext<Customer> context =
BindingContext.of(this, Customer.class, true);

public CustomerFormView() {
Button save = new Button("Save", ButtonTheme.PRIMARY, e -> {
ValidationResult result = context.write(customer);
if (result.isValid()) {
Toast.show("Saved " + customer.getEmail(), Theme.SUCCESS);
}
});

getBoundComponent().add(name, email, save);
}
}

05现有代码也能一并迁移

带上代码 你已经有了。

WebswingConnector 可将正在运行的 Swing、JavaFX 或 SWT 应用嵌入 webforJ 视图中,因此无需一次性完成重写。

ElementComposite 将自定义 HTML 元素或 Web 组件封装在 Java 类中,并在 Java 中定义其属性、HTML 属性和事件。

了解更多:Webswing
  1. 1今天桌面端 Swing多年积累的业务逻辑,每天都在运行。
  2. 2第一步同一应用,在浏览器中Webswing 无需修改源代码,即可将其流式传输到浏览器。
  3. 3从那里webforJ,逐屏呈现逐个将 Swing 界面替换为 webforJ。
SwingAppView.java
@Route
public class SwingAppView extends Composite<Div> {
private final Div self = getBoundComponent();
private WebswingConnector connector;

public SwingAppView() {
// Initialize the connector with your Webswing application URL
connector = new WebswingConnector("http://localhost:8080/myapp/");

// Set the display dimensions
connector.setSize("100%", "600px");

// Add to the view container
self.add(connector);
}
}

06AI 工具与未来方向

您的 AI 助手遵循 webforJ 约定

安装一次 webforJ AI 插件,即可为您的编程助手提供 webforJ MCP 服务器和 Agent Skills。

服务器为其提供实时工具。技能则说明何时使用这些工具、使用顺序以及如何检查结果。

了解更多:AI 工具
终端
claude plugin marketplace add webforj/webforj-ai
claude plugin install webforj@webforj-ai

MCP server

  • 针对正确的 webforJ 版本
  • 在知识库中查找
  • 生成新的 webforJ 项目脚手架
  • 生成 DWC 主题
  • 正确设置 DWC 组件样式
  • 使用 DWC 设计令牌

智能体技能

  • webforj-adding-servlets
  • webforj-building-forms
  • webforj-creating-components
  • webforj-handling-timers-and-async
  • webforj-localizing-apps
  • webforj-securing-apps
  • webforj-styling-apps
  • webforj-upgrading-versions

导览完成

这就是完整的技术栈。 可以开始构建了。

你可以自认为已获得非官方认证:你已了解 webforJ 应用的构建方式,从第一个界面到助你编写下一个界面的 AI 工具。

  • 什么是 webforJ
  • 组件与主题
  • craftforJ
  • 数据、表单和安全性
  • 您现有的代码
  • AI 工具与下一步