【问题标题】:How to evalute JSF EL Expressions which readed from DB如何评估从 DB 读取的 JSF EL 表达式
【发布时间】:2012-03-07 18:04:13
【问题描述】:

我的项目中需要某种动态表。 我试图使用数据库中的一些配置来生成我的表。 我在我的数据库中存储了一些 JPA 字段名称,我想检索它们的值 在运行时。 我需要这样的东西:

<h:datatable value="#{someBean.data}" var="record">
<ui:repeat value="#{someBean.columns}" var="column">
          <h:column>
              <h:ouputText value="#{record.column}"/>
          </h:column>
</ui:repeat>
</h:datatable>

但我不知道如何评估我存储的 EL(record.column),尤其是当列包含对其他实体的引用时,例如 column=

'someEntity.anOtherEntity.property'

提前致谢

【问题讨论】:

    标签: jsf el evaluation


    【解决方案1】:

    您无需将ui:repeat 组件放入h:dataTable 组件即可访问record 的属性。只需这样做即可。

    <h:datatable value="#{someBean.data}" var="record"> 
      <h:column> 
        <h:ouputText value="#{record.column.propertyOfColumn}"/> 
      </h:column>
    </h:datatable>
    

    这当然假设:

    • data 存在一个 getter/setter 属性,位于 someBean 托管 bean 上,例如。 getDatasetData

    • 在 dataTable var record 的类类型上存在 column 的 getter/setter 属性。例如。 getColumnsetColumn

    • column 的类类型上存在 propertOfColumn 的 getter/setter 属性。例如。 getPropertyOfColumnsetPropertyOfColumn

    【讨论】:

    • 不,我的问题是,如果“propertOfColumn”本身包含一个属性链,我的意思是propertOfColumn=someBean.relatedBean1.relatedBean2.property。 getter 和 setter 存在,但 propertyOfColumn 是从 DB 运行时读取的
    猜你喜欢
    • 2014-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 2012-04-17
    • 2012-12-27
    • 1970-01-01
    相关资源
    最近更新 更多