用于PHP的StdClass的Java模拟

Bog*_*rym 1 php java jsf java-ee

我需要类似于属性包的东西来抛出键值对.我想创建这样的对象列表,在bean中初始化它们然后使用列表在JSF模板中呈现表.我知道该怎么做,但我想避免为这种情况创建一些特殊的类,比如OrderLineItem和使用List<OrderLineItem>.我不想定义新类.

在PHP中,我可以使用StdClass.
StdClass是PHP中一个文档稀疏的类,它没有预定义的成员.

$object = new StdClass;
$object->foo = 'bar';
Run Code Online (Sandbox Code Playgroud)

但是,据我所知,Primefaces <p:dataTable>列表项必须是带有getter的对象.如果我想引用<h:outputText value="#{item.title}" />,我的列表对象应该有getTitle()方法.

在我的案例中是否有任何解决方法,或者我真的需要定义特殊课程以使生活更轻松?
谢谢.

Phi*_*ipp 6

如果需要简单的键/值表,那么HashMap可能就是您要找的.

Map<String, String> myMap = new HashMap<>();

myMap.put("foo", "bar");

System.out.println(myMap.get("foo")); // outputs "bar"
Run Code Online (Sandbox Code Playgroud)

此示例将字符串与字符串匹配,但您可以使用HashMaps将任何类型映射到任何其他类型.您甚至可以创建一个Map<Object, Object>创建弱类型地图,将任何地图映射到任何地方.但对于大多数用例,您宁愿使用更专业的表单.