flex端: <s:HGroup width="100%" horizontalAlign="right" verticalAlign="middle">
<s:Button label="打印" click="print(event)"/>
<s:Button label="导出word" click="exportDataWithRO()"/>
</s:HGroup>
[Bindable]
public var route:TouristRoute;
private function exportDataWithRO():void {
array.push(route);
export.exportData("Doc2",new ArrayCollection(array));
}
private function exportResultHandler(event:ResultEvent):void {
var jspFile:String = event.result as String;
navigateToURL(new URLRequest(jspFile), "_blank");
}
<fx:Declarations>
<mx:RemoteObject id="export" destination="FlexDataExporter" showBusyCursor="true" concurrency="last">
<mx:method name="exportData" result="exportResultHandler(event)" fault="exportFaultHandler(event)"/>
</mx:RemoteObject>
<mx:DateFormatter id="df" formatString="YYMMDD"/>
<mx:DateFormatter id="dateFormat" formatString="YYYY-MM-DD"/>
</fx:Declarations>
java端:
import flex.messaging.*;
import flex.messaging.io.ArrayCollection;
import java.io.*;
import javax.servlet.http.*;
public class FlexDataExporter extends HttpServlet implements Serializable {
private static final long serialVersionUID = 2L;
public HttpServletRequest request;
public HttpServletResponse response;
public FlexSession session;
public FlexDataExporter() {
request = FlexContext.getHttpRequest();
session = FlexContext.getFlexSession();
response = FlexContext.getHttpResponse();
}
public Object exportData(String reportName, ArrayCollection arrayConnection) throws Exception {
String jspFileName = null;
try {
session.setAttribute("arrayList", arrayConnection);
HttpServletRequest req = FlexContext.getHttpRequest();
String contextRoot = null;
contextRoot = req.getContextPath();
jspFileName = contextRoot + "/jsp/test1.jsp?reportName="+reportName;
} catch (Exception e) {
e.printStackTrace();
}
return jspFileName;
}
}