Object and String Tables
ObjectTable
、SessionObjectTable
和 StringTable
提供在 webforJ 环境中对共享数据的静态访问。它们可以在应用中的任何位置访问,并具有不同的用途:
ObjectTable
:用于跨应用存储和检索 Java 对象。SessionObjectTable
:用于在 HTTP 会话范围内存储和检索 Java 对象。StringTable
:用于处理持久性的键值字符串对,通常用于配置或环境风格的数据。
这些表在环境级别可用,不需要实例管理。
ObjectTable
ObjectTable
是一个全局可访问的键值映射,用于存储任何 Java 对象。它提供简单的访问共享状态,而无需实例化或配置任何内容。ObjectTable
只有一个实例,并在应用刷新或终止时被清空。它在需要在多个组件或上下文之间提供数据而无需维护引用链的场景中非常有用。
设置和检索对象
ObjectTable.put("userInfo", new User("Alice", "admin"));
User user = (User) ObjectTable.get("userInfo");
检查存在性
if (ObjectTable.contains("userInfo")) {
// 键存在
}
移除条目
ObjectTable.clear("userInfo");
表大小
int total = ObjectTable.size();
SessionObjectTable
25.03
SessionObjectTable
在 Jakarta Servlet 6.1+ 容器中运行时提供对 HTTP 会话属性的静态访问。与 ObjectTable
的应用范围不同,SessionObjectTable
在用户的 HTTP 会话中存储数据,使其在请求之间保持持久,但对每个用户会话是独特的。
它遵循与 ObjectTable
相同的 API 模式以保持一致性。
警告
存储在 SessionObjectTable
中的对象应实现 Serializable
以支持会话持久性、复制和在 servlet 容器中的被动化。
在
BBjServices
中的可用性在版本 25.03 中,通过 BBjServices 运行时,此功能尚不可用。