Pubblicato il 30.07.2015
Une erreur s'est produite lors du traitement du gabarit.
The following has evaluated to null or missing:
==> parts[4] [in template "10131#10164#1317515" at line 47, column 39]
----
Tip: It's the final [] step that caused this error, not those before it.
----
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_name = parts[4] [in template "10131#10164#1317515" at line 47, 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 <div class="columns"> 9 <h3>Descrizione</h3> 10 <p>${Content.data}</p> 11 </div> 12 </div> 13 <hr/> 14 <div class="container" style="display: flex;"> 15 <div class="eight columns alpha"> 16 <h3>Destinatari</h3> 17 <p>${Destinatari.data}</p> 18 </div> 19 <div class="four columns omega" style="text-align: right;"> 20 <h3>Data di scadenza</h3> 21 <p>${DataDiScadenza.data}</p> 22 </div> 23 </div> 24 <hr/> 25 <div class="attivita"> 26 <div class="columns"> 27 <h3>Contatti dell‘ufficio di riferimento</h3> 28 <p><strong>Tel.:</strong> ${Telefono.data}<br> 29 <strong>E-mail:</strong> ${Email.data}</p> 30 </div> 31 </div> 32 <#--ALLEGATI--> 33 <#if FileGroup??> 34 <hr/> 35 <div class="container"> 36 <#if FileGroup.getSiblings()?has_content> 37 <#list FileGroup.getSiblings() as group> 38 <#if group.data != "" && group.File.getSiblings()?has_content> 39 <div class="esperienze"> 40 <span>${group.data}</span> 41 <ul> 42 <#list group.File.getSiblings() as f> 43 <#assign url=f.getData() /> 44 <#assign parts=stringUtil.split(url, "/") /> 45 <#assign group_id=getterUtil.getLong(parts[2]) /> 46 <#assign folder_id=getterUtil.getLong(parts[3]) /> 47 <#assign doc_name=parts[4] /> 48 <#assign doc_type=stringUtil.extractLast(doc_name, ".") /> 49 50 <li> 51 <a href="${url}"> 52 <#assign iconurl="${themeDisplay.getPathThemeImages()}/file_system/small/" + doc_type + ".png" /> 53 <img class="icon" src="${iconurl}" alt=""/> 54 <strong>${f.FileTitle.data}</strong><br/> 55 <span>${doc_name}<span><br/> 56 <strong>Descrizione:</strong> ${f.FileDescription.data}</a> 57 </li> 58 59 </#list> 60 </ul> 61 </div> 62 </#if> 63 </#list> 64 </#if> 65 </div> 66 </#if> 67 <#-- ISCRIZIONE NOTIFICHE BANDO --> 68 <div class="container"> 69 <div class="attivita"> 70 <p>Clicca sul pulsante sottostante se desideri ricevere una e-mail di notifica ogni volta che il bando viene aggiornato:</p> 71 </div> 72 <div class="four columns omega barra"> 73 <#assign userLocalService = serviceLocator.findService("com.liferay.portal.kernel.service.UserLocalService") /> 74 <#assign userId = themeDisplay.getUserId() /> 75 <#assign user = userLocalService.getUserById(userId) /> 76 <#assign emailAddress=user.emailAddress /> 77 <#assign bandoId=.vars['reserved-article-id'].data /> 78 <div class="status"> 79 <#--# <span><a href="/iscrizione-notifiche-bando?email=${emailAddress}&id_user=${userId}&id_bando=${bandoId}&id_group=${groupId}" class="highlightit">ISCRIVITI</a></span--> 80 <span><a href="/iscrizione-notifiche-bando?id_bando=${bandoId}&id_group=${groupId}" class="highlightit">RICEVI LE NOTIFICHE</a></span> 81 </div> 82 </div> 83 </div> 84</div>