Struts2 导出 JSP 到 Excel

Struts2 Export JSP to Excel

在 .jsp 文件中,我迭代了 userList 和 header 列表。标签的 id 属性包含列表中存在的数据实例。此 ID 在 java 小脚本中用于实现应用程序逻辑。

    <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>

您可以使用 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] : "")}'/>