为什么这行得通?
<td><c:forEach items="${profileForm.cityOptions}" var="city">
....Some Code
</c:forEach></td>
在我的生活中,profielForm
我只有一种getCityOptions()
方法cityOptions
。它的工作,但我需要一些解释。
这就是EL的原理。它查找 Java bean 属性。bean 属性是公共 getter 可用的一些信息,遵循 JavaBeans 约定。它也可以使用 JavaBean setter 来设置,遵守 JavaBeans 约定:
public Foo getFoo();
public void setFoo(Foo foo);
public boolean isCool();
public void setCool(boolean cool);
EL 不关心对象的字段。这是私有的,封装的东西。因此getFoo()
可以触发返回Foo
实例的复杂计算,或者简单地返回名为 的字段foo
或bar
其他任何内容。EL不在乎。