Pubblicato il 05.05.2017
Si è verificato un errore nell'elaborarazione del modello.
The following has evaluated to null or missing:
==> stringUtil.extractLast(doc_name, ".") [in template "10131#10164#1317515" at line 44, column 39]
----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: #assign doc_type = stringUtil.extract... [in template "10131#10164#1317515" at line 44, column 21]
---- 1<div class="corso"> 2 <div class="titolo"> 3 <h1>${Head.data}</h1> 4 <h2>${Subtitle.data}</h2> 5 </div> 6 <hr/> 7 <div class="attivita"> 8 <h3>Descrizione</h3> 9 <p>${Content.data}</p> 10 </div> 11 <hr/> 12 <div class="container"> 13 <div class="eight columns alpha"> 14 <h3>Destinatari</h3> 15 <p>${Destinatari.data}</p> 16 </div> 17 <div class="four columns omega"> 18 <h3>Data di scadenza</h3> 19 <p>${DataDiScadenza.data}</p> 20 </div> 21 </div> 22 <hr/> 23 <div class="attivita"> 24 <h3>Contatti dell‘ufficio di riferimento</h3> 25 <p><strong>Tel.:</strong> ${Telefono.data}<br> 26 <strong>E-mail:</strong> ${Email.data}</p> 27 </div> 28 <#--ALLEGATI--> 29 <#if FileGroup??> 30 <hr/> 31 <div class="container"> 32 <#if FileGroup.getSiblings()?has_content> 33 <#list FileGroup.getSiblings() as group> 34 <#if group.data != "" && group.File.getSiblings()?has_content> 35 <div class="esperienze"> 36 <span>${group.data}</span> 37 <ul> 38 <#list group.File.getSiblings() as f> 39 <#assign url=f.getData() /> 40 <#assign parts=stringUtil.split(url, "/") /> 41 <#assign group_id=getterUtil.getLong(parts[2]) /> 42 <#assign folder_id=getterUtil.getLong(parts[3]) /> 43 <#assign doc_name=parts[4] /> 44 <#assign doc_type=stringUtil.extractLast(doc_name, ".") /> 45 46 <li> 47 <a href="${url}"> 48 <#assign iconurl="${themeDisplay.getPathThemeImages()}/file_system/small/" + doc_type + ".png" /> 49 <img class="icon" src="${iconurl}" alt=""/> 50 <strong>${f.FileTitle.data}</strong><br/> 51 <span>${doc_name}<span><br/> 52 <strong>Descrizione:</strong> ${f.FileDescription.data}</a> 53 </li> 54 55 </#list> 56 </ul> 57 </div> 58 </#if> 59 </#list> 60 </#if> 61 </div> 62 </#if> 63 <#-- ISCRIZIONE NOTIFICHE BANDO --> 64 <div class="container"> 65 <div class="attivita"> 66 <p>Clicca sul pulsante sottostante se desideri ricevere una e-mail di notifica ogni volta che il bando viene aggiornato:</p> 67 </div> 68 <div class="four columns omega barra"> 69 <#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService") /> 70 <#assign userId = themeDisplay.getUserId() /> 71 <#assign user = userLocalService.getUserById(userId) /> 72 <#assign emailAddress=user.emailAddress /> 73 <#assign bandoId=.vars['reserved-article-id'].data /> 74 <div class="status"> 75 <#--# <span><a href="/iscrizione-notifiche-bando?email=${emailAddress}&id_user=${userId}&id_bando=${bandoId}&id_group=${groupId}" class="highlightit">ISCRIVITI</a></span--> 76 <span><a href="/iscrizione-notifiche-bando?id_bando=${bandoId}&id_group=${groupId}" class="highlightit">RICEVI LE NOTIFICHE</a></span> 77 </div> 78 </div> 79 </div> 80</div>