我有 reportCriteria.jsp 如下:
<s:form action="showPdf" theme="css_xhtml" cssClass="form1small" name="reportgenerationform">
<div id="searchHeaderReport">Generate Report</div>
<div id="searchForm1">
<s:select list="#application.proList" headerValue="Select" headerKey="select" label="Provider" id="providerId" name="providerName"></s:select>
<div id="wwgrp_flightId" class="wwgrp">
<div id="wwerr_showPdf_flightId" class="wwerr">
<div class="errorMessage">
</div>
</div>
<div id="wwlbl_flightId" class="wwlbl">
<label class="label" for="flightId"> Flight ID: </label>
</div>
<div id="wwctrl_flightId" class="wwctrl">
<select id="flightId" name="flightId">
<option selected="selected">select</option>
</select>
</div>
</div>
<div id="wwgrp_scheduleId" class="wwgrp">
<div id="wwerr_showPdf_flightId" class="wwerr">
<div class="errorMessage">
</div>
</div>
<div id="wwlbl_flightId" class="wwlbl">
<label class="label" for="scheduleId"> Schedule ID: </label>
</div>
<div id="wwctrl_flightId" class="wwctrl">
<select id="scheduleId" name="scheduleId">
<option selected="selected">select</option>
</select>
</div>
</div>
</div>
<div id="submitdivid">
<sj:submit value="Generate Report" cssClass="orangebuttonsmall"/>
</div>
</s:form>
struts.xml 映射如下:
<action name="showPdf" class="com.view.ReportAction" method="showReport">
<result name="report" type="stream">
<param name="inputName">fileStream</param>
<param name="contentType">application/pdf</param>
<param name="contentDisposition">attachment;filename="PDF_Report.pdf"</param>
</result>
<result name="input">/reportCriteria.jsp</result>
</action>
<action name="flightMgmt" class="com.view.AdminAction" method="flightMgmt">
<result name="flightMgmtClicked">/flightMgmt.jsp</result>
</action>
<action name="reportGeneration" class="com.view.AdminAction" method="reportGeneration">
<result name="reportGenerationClicked">/reportCriteria.jsp</result>
</action>
现在,如果方法 showReport 返回“report”,则 pdf 内容以加密形式加载到 div 中,id 为“report_generation”。当该方法返回输入时,它会在 id 为“report_generation”的 div 中加载带有错误的 reportCriteria.jsp。
我想做的是,当它返回错误时,必须将jsp加载到该div中,但是如果该方法返回成功返回的“报告”,则文件下载框必须显示为结果类型=“报告”在 struts.xml 中。
以下是包含“report_generation” div 的“loginSuccessAdmin.jsp”:*
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<s:url var="remoteurl1" action="flightMgmt"/>
<s:url var="remoteurl2" action="reportGeneration"/>
<s:url var="remoteurl3" action="dealMgmt"/>
<sj:tabbedpanel id="remotetabs" selectedTab="0" collapsible="true">
<sj:tab id="tab1" href="%{remoteurl1}" label="Flight Management"/>
<sj:tab id="tab2" href="%{remoteurl2}" label="Report Generation"/>
<sj:tab id="tab3" href="%{remoteurl3}" label="Deal Management"/>
</sj:tabbedpanel>
</div>
该行<sj:tab id="tab2">
本身会创建一个 id 为 report_generation 的 div。
有什么可能,可以实现我的目的..提前谢谢