2

我正在使用 Spring Roo,并且我更改了 list.tagx 文件以在顶部添加标题。此标题是第一项的属性值。问题是我想以一种通用的方式指定这个属性,作为 list.tagx 的一个属性。像这样的东西:

<jsp:directive.attribute name="titleValue" type="java.lang.String"
        required="false" rtexprvalue="true"
        description="The value to be shown in the title" />
   ...
   <c:when test="${not empty items}">
      <c:if test="${not empty titleValue}">
         <c:set var="variable" value="${items[0].titleValue}" />
      </c:if>
   ...

有一个问题,因为它试图将名为“titleValue”的属性的值获取到对象 items[0] 中。例如,如果我将 'titleValue' 的值设置为 'firstName',我想获取items[0].firstName的值

有可能这样做吗?

提前致谢...

4

1 回答 1

2

可以通过使用spring:eval命名空间中的标签来实现xmlns:spring="http://www.springframework.org/tags"。尝试这个:

<jsp:directive.attribute name="titleValue" type="java.lang.String"
        required="false" rtexprvalue="true"
        description="The value to be shown in the title" />
   ...
   <c:when test="${not empty items}">
      <c:if test="${not empty titleValue}">
         <c:set var="variable">
             <spring:eval expression="items[0].${titleValue}" />
         </c:set>
      </c:if>
   ...

编辑:修正错字,对不起。不是${items[0]}.${..}items[0].${..}

于 2013-01-30T14:55:52.190 回答