Jquery 在struts 2中导出为PDF:调用不同的操作类不会绑定表单值

Jquery 在struts 2中导出为PDF:调用不同的操作类不会绑定表单值,jquery,jquery-ui,struts2,struts,struts-config,Jquery,Jquery Ui,Struts2,Struts,Struts Config,在我的应用程序中,我选中用户名using复选框并单击Export Data按钮,这将打开一个弹出窗口,询问是否以PDF或CSV格式导出。我使用jQueryUI获得模态对话框 复选框的格式不同,导出数据也不在该格式中,因此当我使用document.location.href点击操作类时,我无法获取复选框的值 这是如何在JSP中形成复选框的 <s:form action="dashboard" theme="simple"> <s:checkbox name="selectedS

在我的应用程序中,我选中用户名using复选框并单击Export Data按钮,这将打开一个弹出窗口,询问是否以PDF或CSV格式导出。我使用jQueryUI获得模态对话框

复选框的格式不同,导出数据也不在该格式中,因此当我使用document.location.href点击操作类时,我无法获取复选框的值

这是如何在JSP中形成复选框的

<s:form action="dashboard" theme="simple">

<s:checkbox name="selectedStudents[%{#status.index}].studentId" id="student%{#status.index}" fieldValue="%{studentId}" value="0"/>

</s:form>
这就是我的struts操作配置

<action name="exportReport" class="com.hmco.ssms.action.teacher.ExportReportAction">
            <result name="studentReportPDF" type="stream">
                <param name="inputName">inputStream</param>
                <param name="contentType">application/pdf</param>
                <param name="contentDisposition">attachment;filename="sample.pdf"</param>
                <param name="bufferSize">1024</param>
            </result>
        </action>
请帮我做这个。谢谢

看起来很简单:

JSP:


在jquery函数中,我没有看到关于selectedStudent的任何信息,它应该如何工作。我不确定,但你也许应该按导出按钮提交一份包含学生id的表格,并调用导出功能。是的,就是jai。我应该使用导出按钮来提交表单。但是正如您所看到的,我无法配置操作的方法,然后提交表单。在提交表单之前,通过javascript提交表单的动作方法基本上就是我想要的,我的学生复选框在表单中,我应该通过按钮提交表单,而不是在表单中。一般来说,你应该能够以一种仅与struts2相关或仅与客户端相关的方式来表达你的问题。创建一些URL以从浏览器发送数据,并查看服务器上发生了什么,您从日志记录中得到的是您的朋友。如果您知道服务器端需要工作,那么隐藏这些详细信息,您将发现更多的用户可以提供帮助。
<action name="exportReport" class="com.hmco.ssms.action.teacher.ExportReportAction">
            <result name="studentReportPDF" type="stream">
                <param name="inputName">inputStream</param>
                <param name="contentType">application/pdf</param>
                <param name="contentDisposition">attachment;filename="sample.pdf"</param>
                <param name="bufferSize">1024</param>
            </result>
        </action>
<s:form id="exportForm" action="exportStudentReports.action" theme="simple">
    <s:checkbox name="studentId" value="%{}"/>
</s:form>

<a onclick="openDialog()"/>
function openDialog(){
  $('#dialogWindow').dialog(){
    buttons: {
      "Export" : function(){
        $('#exportForm').submit();
      }
    }
  }
}