使用控制器模板（或脚手架）里的export操作导出时，出现404错误?
李小翔
2014-01-08 10:40

内容列表

在BroFramewok的控制器脚手架模板中提供了一个export操作，只需要在页面上写一个导出/套打按钮（或者在BroBPM中配置一个导出/套打按钮），并且编写对应格式的 export.xxx.gsp 后，即可自动实现导出功能。如下面的html代码所示：
<form xxx=yyy>
    ...
   <div class=”buttons”>
       <input type=”hidden” name=”id” value=”123” />
       <input type=”hidden” name=”_export_format” value=”wps”/>
       <span class=”button”><input type=”submit” name=”_action_export” class=”wpsword” value=”导出”></span>
   </div>
</form>
一般情况下，当满足下列三个条件时，export操作会正常执行：
1、表单上有 id 字段，用于获取要导出的 bean
2、表单上需要有一个 _export_format 字段，用于控制导出的格式，目前可自动识别的取值范围包括 doc、wps、xls、et、pdf、doc.bin、wps.bin 等常用的导出文档格式。
      如果这个字段不存在或者为空，则默认为 doc。
3、编写 export.format.gsp 文件，如导出为doc（含doc.bin）文件，则应该编写一个名为 export.doc.gsp 文件
否则：
1、如果没有 id 字段或者 id 的值不合法，则一般会导致提示找不到对应的实体Bean；
2、如果没有 _export_format 字段，或者它的值不在取值范围内，而不存在名为 export.doc.gsp 的视图文件，就会报 404 错误；
3、如果 _export_format 字段合法，但是不存在对应格式的 export 视图文件，也会报 404 错误。
所以，如果点击导出按钮后浏览器显示白板或者报404错误，多半是上面的原因 2 或 3 导致的。
此外，开发环境下，如果是找不到视图文件，后台日志也会有如下输出，便于寻找问题原因：
Error 404: view [/cm/finance/pay/Purchase/export.wpsxxx] not found.
Maybe you should check the hidden field named “_export_format” in the reference page.