Java 用英语解释。艾尔工作得怎么样?
为什么会这样Java 用英语解释。艾尔工作得怎么样?,java,el,Java,El,为什么会这样 <td><c:forEach items="${profileForm.cityOptions}" var="city"> ....Some Code </c:forEach></td> ……一些代码 在我的profielForm中,我只有一个getCityOptions()方法,没有任何cityOptions。 它起作用了,但我需要一些解释 这就是EL的原理。它查找javabea
<td><c:forEach items="${profileForm.cityOptions}" var="city">
....Some Code
</c:forEach></td>
……一些代码
在我的profielForm
中,我只有一个getCityOptions()
方法,没有任何cityOptions
。
它起作用了,但我需要一些解释 这就是EL的原理。它查找javabean属性。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不在乎。这实际上是公开的。所以在您的示例中,我将编写${Foo.something}
?即使Foo不是一个变量?不。您将编写${someObject.Foo}
,它将对名为“someObject”的页面、请求、会话或应用程序属性中存储的对象调用getFoo()
。