列表在jsp中仅使用jstl显示第一条记录

时间:2017-04-16 08:41:56

标签: spring jstl

enter image description here

弹簧控制器中的我的列表如图所示。

我正在尝试将jsp中的记录显示为。

  <c:forEach items="${myList}" var="myList">
        <tr>
            <td>${myList[0].submittedOn}</td> 
            <td>${myList[0].title}</td>    
        </tr>
   </c:forEach>

当我这样做时,它只打印第一行,我需要在jsp中显示所有行。

2 个答案:

答案 0 :(得分:0)

/**
 * @inheritdoc
 */
public function actions()
{
    $defaultActions = parent::actions();
    $defaultActions['create'] = [
        'class' => 'yii\rest\CreateAction', // change it to your class
        // modify configuration below, or not
        'modelClass' => $this->modelClass,
        'checkAccess' => [$this, 'checkAccess'],
        'scenario' => $this->createScenario,
    ];
    return $defaultActions;
}

忘了把taglib

<c:forEach items="${myList}" var="myList">
        <tr>
            <td>${myList.submittedOn}</td> 
            <td>${myList.title}</td>    
        </tr>
</c:forEach>

答案 1 :(得分:0)

列表索引必须是动态的,您已将其硬编码为0,因此它始终是列表中的第一项。另外,我将item变量命名为与list变量不同的东西。这是一个应该有效的例子:

<c:forEach items="${myList}" var="item" varStatus="loopStatus"> <tr> <td>${myList[loopStatus.index].submittedOn}</td> <td>${myList[loopStatus.index].title}</td>
</tr> </c:forEach>

更简单的方法是使用item变量而不是使用循环索引,如下所示:

<c:forEach var="item" items="${myList}"> <tr> <td>${item.submittedOn}</td> <td>${item.title}</td>
</tr> </c:forEach>