首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ofbiz如何在xsl-fo中使用屏幕fo视图时动态设置PDF的名称

Ofbiz如何在xsl-fo中使用屏幕fo视图时动态设置PDF的名称
EN

Stack Overflow用户
提问于 2017-11-30 05:22:31
回答 1查看 329关注 0票数 0

我使用## Ofbiz模板下载##文件。目前的pdf文件下载以相同的名称始终。我需要设置PDF文件的名称。如何动态设置文件名?在其他一些问题中,我看到我们必须设置响应头“内容处理”,但在ofbiz中不确定在哪里设置它。任何答案或指示都是有帮助的。

我的controller.xml

代码语言:javascript
复制
    <view-map name="InvoicePDF" type="screenfop" 
   page="component://myapp/widget/OrderScreens.xml#InvoicePDF" content-type="application/pdf" encoding="none"/>

我的OrderScreens.xml

代码语言:javascript
复制
          <!-- PDF Screens --> 
 <screen name="InvoicePDF">
    <section>

        <actions>
            <property-map resource="AppUiLabels" map-name="uiLabelMap" global="true"/>
            <service service-name="getInvoiceDetails" auto-field-map="true"/>
        </actions>
        <widgets>
            <platform-specific>
                <xsl-fo><html-template location="component://myapp/webapp/myapp/static/pdf/invoicePrint.fo.ftl"/></xsl-fo>
            </platform-specific>                
        </widgets>
        <fail-widgets>
            <label style="h3" text="${uiLabelMap.PrintPermission}"/>
        </fail-widgets>
    </section>
</screen>   
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-01 19:33:42

我尝试了一个选项,它可以为我工作-我在actions标记中添加了一个新的groovy脚本,如下所示:

代码语言:javascript
复制
        <script location="component://myapp/webapp/myapp/WEB-INF/actions/setContentDisposition.groovy"/>

setContentDisposition.groovy

代码语言:javascript
复制
import javax.servlet.*;
import javax.servlet.http.*;

filename = invoiceNumber +"_" + month + ".pdf";
response.setHeader( "Content-Disposition", "attachment;filename=" + filename );
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47566409

复制
相关文章

相似问题

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