首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导出到struts 2中的PDF :调用不同的操作类并不绑定表单值

导出到struts 2中的PDF :调用不同的操作类并不绑定表单值
EN

Stack Overflow用户
提问于 2012-09-03 14:16:35
回答 1查看 1.4K关注 0票数 0

在我的应用程序中,我选择用户名(使用复选框)并单击"Export“按钮,这将打开一个弹出(询问是在PDF还是CSV中导出)。我用jQueryUI得到了modal-dialog

复选框是不同的形式,而“导出数据”不在该表单中,所以当我使用document.location.href访问操作类时,无法获得复选框值

这就是在JSP中形成复选框的方式。

代码语言:javascript
复制
<s:form action="dashboard" theme="simple">

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

</s:form>

在单击"Export“按钮时,我从jquery调用方法(用struts-2操作编写)。请查看下面的jquery代码

代码语言:javascript
复制
$(function() {
        $("#exportStudentReports").click(function(){
            $( "#exportModalWindow" ).dialog({
                resizable: false,
                height: 50,
                width: 200,
                modal: true,
                hide: "explode",
                buttons:{
                    "Export": function() {
                        var link = "/web/teacher/exportReport!exportStudentReports.action?exportType=pdf" ;
                        document.location.href=link;
                        $("#exportModalWindow").dialog("close");
                    }
                }
            });
            var isOpened = $("#exportModalWindow").dialog("isOpen") ;
            if (!isOpened) {
                $("#exportModalWindow").dialog("open");
            }
            $("#exportStuReportPDF").attr("checked","checked") ;
        });

    });

这就是我的struts-action-配置的方式。

代码语言:javascript
复制
<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>

请帮帮我。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-03 15:47:58

这似乎很简单:

JSP:

代码语言:javascript
复制
<s:form id="exportForm" action="exportStudentReports.action" theme="simple">
    <s:checkbox name="studentId" value="%{}"/>
</s:form>

<a onclick="openDialog()"/>

jQuery:

代码语言:javascript
复制
function openDialog(){
  $('#dialogWindow').dialog(){
    buttons: {
      "Export" : function(){
        $('#exportForm').submit();
      }
    }
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12249591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档