2017-03-22 3 views
1

In der JSP-Datei iteriere ich die userList und die Header-Liste. Das ID-Attribut des Tags enthält eine Instanz der in der Liste vorhandenen Daten. Diese ID wird in den Java-Scriptlets verwendet, um die Anwendungslogik zu implementieren.Struts2 JSP nach Excel exportieren

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

ist notwendig, dies zu Struts2 zu konvertieren, aber ich weiß nicht, wie kann ich die OGNL Variable in dem Scriptlets verwenden.

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

Antwort

1

Sie können s:set tag verwenden, die eine Variable in einem festgelegten Umfang (Handlungs Umfang standardmäßig) erstellt und einen Wert als Ergebnis OGNL Ausdrucks-Auswertung zugewiesen werden.

<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] : "")}'/> 
Verwandte Themen