美文网首页
使用freemark画模板

使用freemark画模板

作者: 进击的三文鱼 | 来源:发表于2019-06-12 10:53 被阅读0次
freemark.png

设定数据过程

@RequestMapping(path = {"/{id}"}, method = {RequestMethod.GET})
    public String queryCustomer(Model model, @PathVariable("id") String id) {
        model.addAttribute("printBody", getPrintBody(id));
        model.addAttribute("source", getPrintItem(id));
        return "ns/ImportManList";
    }
    public List<PrintCrewItem> getPrintItem(String id) {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        List<PrintCrewItem> items = Lists.newArrayList();
        SailingSchedule sailingSchedule = sailingScheduleService.findById(id);
        ShDynamic shDynamic = shipDynamicService.findOneBySailingScheduleId(id);
        List<CrewList> crewList = crewListService.findBySailingScheduleIdAndImpExpFlag(sailingSchedule.getId(), "I");
        for (CrewList value : crewList) {
            PrintCrewItem printCrewItem = new PrintCrewItem();
            printCrewItem.setBirthDate(value.getBirthDate());
            printCrewItem.setName(value.getName());
            printCrewItem.setCertificateNo(value.getCertificateNo());
            if (value.getGender() != null) {
                if (value.getGender().equals("M")) {
                    printCrewItem.setGender("男");
                } else if (value.getGender().equals("F")) {
                    printCrewItem.setGender("女");
                } else {
                    printCrewItem.setGender("未知");
                }
            }
            ShipCountry shipCountry = shipCountryService.getByCode(value.getNationality());
            printCrewItem.setCountryName(shipCountry.getCnName());
            printCrewItem.setShipCnName(sailingSchedule.getShipCnName());
            printCrewItem.setVoyageMobile(shDynamic.getVoyageMobile());
            printCrewItem.setAddress(sailingSchedule.getShipCnName());
            printCrewItem.setNowDate(simpleDateFormat.format(new Date()));
            ShipPort shipPort = shipPortService.findByPortCode(sailingSchedule.getLastBerth());
            printCrewItem.setLastBerthName(shipPort.getCnName());
            items.add(printCrewItem);
        }
        return items;
    }
    private ShipPrintBody getPrintBody(String id) {
        SailingSchedule sailingSchedule = sailingScheduleService.findById(id);
        ShipPrintBody printBody = new ShipPrintBody();
        printBody.setShipCnName(sailingSchedule.getShipCnName());
        return printBody;
    }

解决方式td 宽度设定无效

  <td class="tcenter">
              <div style="width: 100px;white-space:normal; word-break:break-all;overflow:hidden;">
                        联系电话
               </div>
   </td>

循环取值

  <#list source as object>
            <tr class="tr_height">
                <td class="tcenter">${object_index+1}</td>
                <td class="tcenter">
                    <div style="width: 70px;white-space:normal; word-break:break-all;overflow:hidden;">
                    ${object.name!}
                    </div>
                </td>
                <td class="tcenter">
                    <div style="width: 20px;white-space:normal; word-break:break-all;overflow:hidden;">
                    ${object.gender!}
                    </div>
                </td>
                <td class="tcenter">${object.birthDate?string("yyyy-MM-dd")!}</td>
                <td class="tcenter">
                    <div style="width: 60px;white-space:normal; word-break:break-all;overflow:hidden;">
                        ${object.countryName!}
                    </div>
                </td>
                <td class="tcenter">
                    <div style="width: 55px;white-space:normal; word-break:break-all;overflow:hidden;">
                    ${object.certificateNo!}
                    </div>
                </td>
                <td class="tcenter ">${object.shipCnName!}</td>
                <td class="tcenter ">
                    <div style="width: 60px;white-space:normal; word-break:break-all;overflow:hidden;">
                    ${object.lastBerthName!}
                    </div>
                </td>
                <td class="tcenter ">
                    <div style="width: 100px;white-space:normal; word-break:break-all;overflow:hidden;">
                    ${object.voyageMobile!}
                    </div>
                </td>
                <td class="tcenter">${object.shipCnName!}</td>
                <td></td>
            </tr>
        </#list>

取值

${printBody.shipCnName!}

格式化日期

${printBody.etdArrivedTime?string("yyyy-MM-dd")!}

if判断

<#if printBody.grossTonnage??>${printBody.grossTonnage?c}</#if>

相关文章

  • 使用freemark画模板

    设定数据过程 解决方式td 宽度设定无效 循环取值 取值 格式化日期 if判断

  • 一图看懂FreeMarker架构

    概述 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。FreeMark...

  • 2019-02-14到2019-02-29

    我可没有断更 模板引擎 jsp freemark thymeleafSpringBoot提供的thymeleaf...

  • SpringBoot初体验

    接上一篇1、我们创建一个Controller 2、创建视图模板,此处我们选择的是freeMark作为我们的模板语言...

  • FreeMarker入门

    这里有个系列博客很不错,应该是最合适的入门教程了。Java模板引擎FreeMarker系列这里的对FreeMark...

  • Freemarker 2.3.28

    检查Maven是否安装 创建一个Maven项目 创建目录freemark然后,执行如下命令 使用IDEA打开项目(...

  • SpringBoot整合freeMark手记

    刚新开的一个项目用到了SpringBoot和FreeMark,对freeMark没有用过,没办法,只能边学边做了。...

  • 开源库 openhtmltopdf 将 html 转 为 pdf

    概述 在我们项目中会使用freemark 生成 html,然后用 html 转 pdf。那么美化是必不可少的程序...

  • 《PHP Learning》模板引擎

    《PHP Learning》模板引擎 模板处理使用正则处理模板替换规则保存模板编译结果 模板使用 自定义模板引擎 ...

  • freemark 踩坑之旅-使用openhtmltopdf 将

    概述 想要做出比较美观的pdf ,比较好的实现方式是使用html 转 pdf。后端生成html可以使用 freem...

网友评论

      本文标题:使用freemark画模板

      本文链接:https://www.haomeiwen.com/subject/vtykfctx.html