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("错误信息");
}
}
网络存储
对于 webforJ 25.00 之前的版本,App
类有 getLocalStorage()
、getSessionStorage()
和 getCookieStorage()
方法,分别获取 LocalStorage
、SessionStorage
和 CookieStorage
类的实例。今后,每个类都有一个 getCurrent()
方法。
有关更多信息,请参见 Web 存储。
Request
类
Request
类现在负责获取应用程序的 URL、端口、主机和协议。因此,不再使用 App.getUrl()
,而是使用 App.getCurrent().getUrl()
。getCurrent()
方法还替代了 getRequest()
方法以获取 Request
类的实例。
Request
类也已移除方法,跳转到 Request
查看。
Page
类
getPage()
方法已被 Page.getCurrent()
替代,以获取当前页面实例。
选项对话框
请使用 OptionDialog.showMessageDialog()
来创建消息对话框,而不是使用 msgbox()
方法。