全新 · 即将公测 Java · Spring Boot

FineUIJava

「AI 写得快 · 人类看得懂」的 Java 企业级全栈 UI 框架,基于 Spring Boot。

公测将于 2026 年 10 月 10 日开放

为什么选择 FineUIJava?

同一个登录功能,八款同类产品——十项能力横评,FineUIJava 项项满足。

特性 FineUIJava Vaadin JSF/PF Wicket ZK Tapestry HTMX GWT/GXT
声明式标签
事件直达服务端
属性回写、UI 自动更新
业务侧几乎零 JavaScript
企业级数据表格
内置表单校验
默认无刷新回发
服务端无状态、易水平扩展
零 unsafe 严格 CSP
一行依赖接入、零配置

支持 部分支持 不支持

看逐框架代码对照与脚注 →

页面写标签,后台写事件

一个标签一个控件,一个属性一个功能;控件状态在前后端自动往返,事件直达 Java 方法。

界面 · Thymeleaf 模板

标签声明界面

<!-- 一个标签一个控件 -->
<f:window title="登录">
  <f:simple-form>
    <f:text-box id="tbxUser" label="用户名" required="true"/>
    <f:text-box id="tbxPwd" label="密码" text-mode="Password"/>
  </f:simple-form>
  <f:button id="btnLogin" text="登录" on-click="btnLogin_Click"/>
</f:window>

业务 · Java 页面模型

后台事件处理业务

// 控件按字段名自动注入,无需设计时代码
@FineUIPage("basic/login")
public class Login extends FineUIPageBase {

    TextBox tbxUser;   // 字段名 == 控件 id
    TextBox tbxPwd;

    // 点「登录」触发的服务端事件
    public void btnLogin_Click(Object sender, EventArgs e) {
        String user = tbxUser.getValue();   // 读控件状态
        showNotify("你好," + user);        // 写状态 → 自动回传
    }
}

整页不刷新,服务端不存 session —— 大多数页面里,JavaScript 的用量是零。 阅读开发指南 →

开箱即用的核心能力

从标签声明、后台事件,到数据表格、声明式校验与默认安全——企业级全栈开发所需的一切。

No JavaScript · No CSS

控件自带交互逻辑与样式,换肤只切主题。写业务几乎不碰 JavaScript、不手写 CSS——FineUI 十八年的老招牌。

标签声明界面

界面由控件拼装:<f:window><f:text-box><f:button>……你写的是「有什么」,不是「怎么画」。

后台事件处理业务

on-click 把客户端动作接到一个 Java 方法上;方法体里面对的就是控件实例本身,读它、改它,像操作普通对象一样。

无刷新回发

每次点击只发一个 AJAX 请求,服务端返回纯 JSON,由客户端就地把变化打到 DOM。用户看到的是局部更新,不是整页刷新或白屏等待。

注解式校验

在 Java 模型字段上用 @NotBlank@Size 等注解声明校验:一次声明,前端即时提示、后端权威复核。

企业级数据表格

排序、分页、行内编辑、树形表格、锁定列、分组汇总……企业报表里的重活,用标签声明就能扛,配套 1000+ 在线示例。

服务端无状态

控件树不常驻服务端内存,每次回发从客户端状态重建。不需要 session、不需要粘性会话,天然支持水平扩展。

默认安全

控件文本默认 HTML 编码挡住 XSS,表单绑定只认声明字段、天然防批量赋值,内核零 eval、可上零 unsafe 的严格 nonce CSP。

开始使用

即将公测
  1. 前往 在线示例 点几下,直观感受标签式与有状态开发。
  2. 社区版 下载起步项目,永久免费商用。
  3. 照着 开发指南 写出你的第一个页面。
  4. 需要企业版?,我们把企业版试用包和开发授权文件发到你邮箱。
社区版下载 在线示例 ↗
AI 友好

AI 生成,人类审查

2020 年以来,业界明显出现「薄前端、状态回归服务端」的回潮(HTML over the wire),在企业管理系统、内部工具这类场景里尤其顺势。

而 2026 年,越来越多代码由 AI 生成、人类转为审查者——声明式标签恰恰是对审查最友好的形态:AI 吐出一行 <f:text-box label="用户名" required="true"/>,你一眼就能看懂它是什么、对不对,胜过审阅数百行夹缠着状态与副作用的前端代码。

标签式、有状态、事件驱动,让人和 AI 用同一套词汇表描述界面。这就是 FineUIJava 想做的事。