我services在JSP页面中调用了一个List变量.如果列表中有多个元素,我需要在页面中添加一些标记.
我想做的是......
<c:if test="${services.size() gt 1}">
<!-- markup... -->
</c:if>
Run Code Online (Sandbox Code Playgroud)
但是你不能在EL中调用Java对象的方法(我想这可能是364823782时间,我后悔这个事实).您只能通过删除具有getName()方法的User类的'get',例如$ {user.name}来访问Java对象上的getter.
评估此测试的正确方法是什么?
我已经使用Java很长一段时间了,我仍然对这个API的命名感到困惑.为什么会那样?
例如,当您有一个实例时,ArrayList它具有一个属性,即列表中添加了多少对象.要获得这个属性,你打电话,.size()而不是getSize()你真正想要做的更多.您正在尝试读取此列表的属性值,而不是对其执行某些操作.我猜在内部"调整大小"这个列表可能要比读取单个变量要复杂得多,但这是植入细节,对象的用户不应该关心它.