Skip to content

增强JSP的EL表达式,能像访问普通JavaBean一样访问Record和Table

License

Notifications You must be signed in to change notification settings

zzp-me/jactiverecord-el

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jActiveRecord-EL

jActiveRecord-ELjActiveRecord的辅助项目,简化在EL表达式中访问数据的方法,做到像操作普通JavaBean一样操作RecordTable类型的对象。适合采用了jActiveRecordWeb项目。

安装

下载最新的jactiverecord.jarjactiverecord-el.jar,添加如下信息到web.xml

<listener>
  <listener-class>me.zzp.ar.el.ResolverSetup</listener-class>
</listener>

访问Record属性

假设Record实例user有一个字符串类型的属性name,如果不使用jActiveRecord-EL,要在EL表达式中获得该属性的值,方法是:

<h1>${user.get("name")}</h1>

采用jActiveRecord-EL之后,方法是:

<h1>${user.name}</h1>

jActiveRecord-EL简化了在EL表达式中访问Record属性的方法,能像访问JavaBean属性一样地访问Record的数据。

访问Table方法

jActiveRecord-EL同样简化了访问Table对象的方法,支持allfirstlast和索引四种查询方式:

  • all:调用Table#all()。即${User.all}等价于${User.all()}
  • first:调用Table#first()。即${User.first}等价于${User.first()}
  • last:调用Table#last()。即${User.last}等价于${User.last()}
  • 索引:调用Table#find(int id)。即${User[1]}等价于${User.find(1)}

注意 ${User[1]}${User.all[1]}的意义并不相同,前者返回表中id等于1的记录;后者返回所有记录(all)中第条记录(索引从0开始)。

骆驼命名法自动转换

JavaBean属性的命名规则为骆驼命名法,例如“createdAt”;而数据库表的字段通常采用下划线命名法,例如“created_at”。

开启了自动转换开关后就能将采用骆驼命名法的属性名自动转换成下划线命名法,即${user.created_at}${user.createdAt}等价。在web.xml中添加如下上下文参数即可开启该选项:

<context-param>
  <param-name>jactiverecord-el-camel-case</param-name>
  <param-value>true</param-value>
</context-param>

About

增强JSP的EL表达式,能像访问普通JavaBean一样访问Record和Table

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published