Примеры шаблонов для генерации документов
Материал из BiTel WiKi
Шаблон печатной формы (содержание файла /WEB-INF/jspf/user/plugin/document/template/example/akt.jsp)
<%@ page contentType="text/html; charset=UTF-8"%> <%@ include file="/WEB-INF/jspf/taglibs.jsp"%> <u:newInstance var="processDao" clazz="ru.bgcrm.dao.process.ProcessDAO"> <u:param value="${conSlave}"/> </u:newInstance> <u:newInstance var="paramDao" clazz="ru.bgcrm.dao.ParamValueDAO"> <u:param value="${conSlave}"/> </u:newInstance> <c:set var="processId" value="${event.objectId}"/> <html> <head> <link rel="stylesheet" type="text/css" href="/css/style.css.jsp"/> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> </head> <body> <div style="text-align: center; font-weight: bold;" class="mb1"> Список актов процессв ВЫЗОВ ТЕХНИКА </div> <div> <table class="data" width=100%> <tr><td> </td></tr> <c:forEach var="processId" items="${event.getObjectIds()}"> <c:set var="process" value="${processDao.getProcess(processId)}"/> <tr> <td><b><u><i>№ ${processId}</u></i></b> Исполнитель: <b> ${u:objectTitleList(ctxUserList, process.getExecutorIds())} </b> Дата:<b>${paramDao.getParamDate(processId, 71)}</b></td> </tr> <tr> <td><u><i>Абонент:</i></u> ${paramDao.getParamText(processId, 47)} <i><u>Адрес:</i></u> <c:forEach var="addr" items="${paramDao.getParamAddress(processId, 25).values()}" varStatus="status"> ${addr.value} </c:forEach> <u><i>Телефоны:</i></u> ${paramDao.getParamText(processId, 46)}, ${paramDao.getParamText(processId, 61)}, ${paramDao.getParamText(processId, 62)} </td> </tr> <tr> <td colspan=2> ${paramDao.getParamText(processId, 73)}, ${u:toString(paramDao.getParamListWithTitles(processId, 70))} ${u:toString(paramDao.getParamListWithTitles(processId, 76))} <br> ${process.getDescription()} </td> </tr> </c:forEach> </table> </div> </body> </html>
В коде ID параметров подставлены напрямую в местах их использования в коде. Для удобства чтения можно свести эти значения в переменные:
<c:set var="PROCESS_PARAM_ADDRESS" value="25"/>
и в соответствующих местах их использовать:
<c:forEach var="addr" items="${paramDao.getParamAddress(processId, PROCESS_PARAM_ADDRESS).values()}" varStatus="status">
Вывод параметра типа phone:
Телефон: ${paramDao.getParamPhone(processId, 20).getValue()}