如何从JSP访问案例类的字段?

时间:2015-05-31 13:12:07

标签: scala jsp jstl el case-class

当我是Java程序员时,我的典型方法是编写带有getter的POJO,并通过这些getter ${pojo.field}访问JSP中的字段。

现在我正在尝试使用Scala。 Case类似乎是POJO的一个很好的替代品,但是scala提供了field() getter而不是JSP所需的getField()

那么,如何从JSP访问案例类字段而不为每个字段手动编写def getField = field?或者也许有更适合我的目的的方法?

1 个答案:

答案 0 :(得分:3)

使用scala.beans.BeanProperty注释案例类的字段:

import scala.beans.BeanProperty;

case class Person( @BeanProperty val name : String, @BeanProperty val age : Int);

现在,您的人员课程将采用getName()getAge()以及name()age()等方法。

如果您需要bean设置器,请使用var s:

class Person( @BeanProperty var name : String, @BeanProperty var age : Int);

(注意:我通常不喜欢创建非可变对象案例类,即使在可变类声明之前声明case是合法的。)

现在您已经发现已经定义了java void setName( String name )void setAge( int age )的等价物。