Struts2 + Displaytag:需要使用分页进行渲染

时间:2009-10-23 13:05:44

标签: jsp struts2 displaytag

这是我的问题。

我的JSP需要一个分页。原始版本是这样的:

<s:iterator value="listSurveyToRender" var="s">

                        <tr class="surveyTitle"><td><h4><s:property value="descrizione" /></h4></td></tr>
                        <s:iterator value="listSurveyValuesToRender" var="sv" >
                            <s:if  test="%{#s.idsurvey==#sv.survey.idsurvey}">

                                <s:if test="%{survey.surveytype=='multi'}">
                                    <tr class="rowSurvey">
                                        <td><p><s:property value="valoreTesto"/></p></td><td><s:checkboxlist list="sv" name="domandeCheckbox" listValue="" listKey="idsurveyValues" theme="simple"  /></td>
                                    </tr>
                                </s:if>

                                <s:if test="%{survey.surveytype=='singolo'}">
                                    <tr class="rowSurvey">
                                        <td><p><s:property value="valoreTesto"/></p>td><td><s:radio theme="simple" name="selectedOption" list="valoreNdomanda"/></td>
                                    </tr>
                                </s:if>

                            </s:if>
                        </s:iterator>

                    </s:iterator>

这没关系。但是我需要一个解决方案来使分页呈现相同的效果。我尝试过:

        <s:set name="surveyValues" value="listSurveyValuesToRender" scope="request"/>
 <display:table name="survey" id="survey" sort="list" defaultsort="2" pagesize="4" size="10">
                    <display:column property="descrizione" />



                </display:table>

但现在我需要一种方法来查看嵌套迭代之前的值......

1 个答案:

答案 0 :(得分:0)

您是否尝试在代码中进行迭代?如果您设置display:table的uid属性,那么您可以使用它来获取该行的句柄。

例如:

<display:table name="survey" uid="row">
    <display:column>${row.property}</display:column>
</display:table>

您可以尝试在那里迭代的scriptlet或。不确定struts标签是否在那里工作,但理论上可以。根据您上面的示例,不确定您的displayTag表名为“survey”。 displayTag表名=集合名。