Upgrade to 25.00
本 документация 是为了指导将 webforJ 应用程序从 24.00 升级到 25.00。以下是现有应用程序继续顺利运行所需的更改。像往常一样,请查看 GitHub 发布概述,以获取不同版本之间更全面的更改列表。
Jetty 12 网络服务器
webforJ 25.00 及更高版本使用 Jetty 12,采用 Jakarta EE10 servlet 架构。如果您在开发中使用 Jetty Maven 插件,请将其从 Jakarta EE8 迁移到 Jakarta EE10。此升级还将需要用 Jakarta.servlet 包替换依赖于 javax.servlet 包的任何内容。
POM 文件更改
之前
<plugin>
<groupId>org.eclipse.jetty.ee8</groupId>
<artifactId>jetty-ee8-maven-plugin</artifactId>
<version>10.x.xx</version>
之后
<plugin>
<groupId>org.eclipse.jetty.ee10</groupId>
<artifactId>jetty-ee10-maven-plugin</artifactId>
<version>12.x.xx</version>
App 类的 API 更改
在 25.00 中删除了几个已弃用的 App 方法。以下部分概述了哪些方法被替换以及推荐的替代方法。
控制台日志记录
用于创建样式化日志到浏览器控制台的工具类 BrowserConsole 替代了 consoleLog() 和 consoleError() 方法。通过使用 console() 方法获取 BrowserConsole:
public class Application extends App{
@Override
public void run() throws WebforjException {
console().log("日志信息");
console().error("错误信息");
}
}
Web 存储
对于 webforJ 25.00 之前的版本,App 类有 getLocalStorage()、getSessionStorage() 和 getCookieStorage() 方法来获取 LocalStorage、SessionStorage 和 CookieStorage 类的实例。今后,每个类都有一个 getCurrent() 方法。
有关更多信息,请参阅 Web Storage。
Request 类
Request 类现在负责获取应用程序的 URL、端口、主机和协议。因此,使用 App.getUrl() 的地方请使用 App.getCurrent().getUrl()。getCurrent() 方法还替代了 getRequest() 方法,用于获取 Request 类的实例。
Request 类还删除了方法,跳转到 Request 以查看它们。
Page 类
getPage() 方法被 Page.getCurrent() 替换,以获取当前页面实例。
选项对话框
请使用 OptionDialog.showMessageDialog() 创建消息对话框,而不是使用 msgbox() 方法。