Struts2将JSP导出到Excel

时间:2017-03-22 12:15:15

标签: jsp struts2

在.jsp文件中,我迭代userList和标题列表。标记的id属性包含列表中存在的数据的实例。此id在java scriptlet中用于实现应用程序逻辑。

    <logic:iterate id="a" name="ExcelForm" property="userList">
                <tr>
                <logic:iterate id="b" name="ExcelForm" property="header">

                    <td>
                        String a = (data.get(header) instanceof String)? ((String) data.get(header)) : (((String[])data.get(header)).length > 1000 ? ((String[])data.get(header))[1000] : "");

                            .... 

 %>
                    </td>
                </tr>
            </logic:iterate>

有必要将其转换为Struts2,但我不知道如何在scriptlet中使用OGNL变量。

<s:iterator var="a" value="%{userList}">
                <tr>
                <s:iterator var="b" value="%{header}">

                    <td>
                        String a = (data.get(header) instanceof String)? ((String) data.get(header)) : (((String[])data.get(header)).length > 1000 ? ((String[])data.get(header))[1000] : "");

                            .... 

 %>
                    </td>
                       </s:iterator>
                </tr>
            </s:iterator>

1 个答案:

答案 0 :(得分:1)

您可以使用s:set tag在指定范围内创建变量(默认情况下为操作范围),并为OGNL表达式评估结果赋值。

<s:set var="a" value='%{(data.get(header) instanceof String)? ((String) data.get(header)) : (((String[])data.get(header)).length > 1000 ? ((String[])data.get(header))[1000] : "")}'/>