Anuncios

Se ha producido un error al procesar la plantilla.
Failed to "?eval" string with this error:

---begin-message---
Syntax error in ?eval-ed string in line 3, column 17:
Encountered ")", but was expecting one of:
    <STRING_LITERAL>
    <RAW_STRING>
    "false"
    "true"
    <INTEGER>
    <DECIMAL>
    "."
    "+"
    "-"
    "!"
    "["
    "("
    "{"
    <ID>
---end-message---

The failing expression:
==> docum?eval  [in template "10114#2295845#2419424" at line 39, column 39]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign json_docum = docum?eval  [in template "10114#2295845#2419424" at line 39, column 17]
----
1<#assign dlFileEntryService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")> 
2 
3<#if entries?has_content> 
4	<#list entries as entry> 
5	    <#assign assetRenderer = entry.getAssetRenderer() /> 
6	    <#assign journalArticle = assetRenderer.getArticle() /> 
7	   
8	    <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) /> 
9	    <#assign rootElement = document.getRootElement() /> 
10	    <#assign titulo = saxReaderUtil.createXPath("dynamic-element[@name='titulo']").selectSingleNode(rootElement).getStringValue() /> 
11	    <#assign viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, entry) /> 
12	    <#assign resumen = saxReaderUtil.createXPath("dynamic-element[@name='resumen']").selectSingleNode(rootElement).getStringValue() /> 
13	     
14	    <#assign documento = saxReaderUtil.createXPath("dynamic-element[@name='tituloDocumento']/dynamic-element[@name='documento']").selectSingleNode(rootElement).getStringValue() /> 
15	     
16	    <#assign tituloDocumento = saxReaderUtil.createXPath("dynamic-element[@name='tituloDocumento']/dynamic-content").selectSingleNode(rootElement).getStringValue() /> 
17	    <#assign contenido = saxReaderUtil.createXPath("dynamic-element[@name='contenido']").selectSingleNode(rootElement).getStringValue() /> 
18		<#assign allDocuments = document.selectNodes( "//dynamic-element[@name='tituloDocumento']") /> 
19	    
20	   
21	    
22		<div class="article-list">	     
23		<h3 class="titular">${titulo}</h3> 
24		     
25		     
26		     
27		    <#if !validator.isBlank(contenido?trim)> 
28		   		${contenido} 
29		   	</#if> 
30		     
31		    <#if !validator.isBlank(resumen?trim)> 
32		    	<p>${resumen}</p> 
33		    </#if> 
34			 
35		 
36			<#list allDocuments as doc> 
37				<#assign tituloDoc = doc.valueOf( "dynamic-content") /> 
38				<#assign docum = doc.valueOf( "dynamic-element[@name='documento']") /> 
39                <#assign json_docum = docum?eval /> 
40                 
41		        <#assign group_id = json_docum.groupId />	   
42				<#assign uuid = json_docum.uuid />	     
43				<#assign doc_name = json_docum.title /> 
44				 
45    
46                <#assign fileEntry = dlFileEntryService.getFileEntryByUuidAndGroupId(uuid, getterUtil.getLong(group_id)) /> 
47                <#assign size = fileEntry.getSize()/1000 /> 
48                <#assign extension = fileEntry.getExtension() /> 
49                <#assign rutaDocu = '/documents/' + group_id + '/'  + fileEntry.getClassPK() + '/'  + doc_name + '/'  + uuid /> 
50                 
51                <div class="documents"> 
52                	<a href="${rutaDocu}" title="${tituloDoc}">${tituloDoc}</a> 
53                	<span class="type"> (${extension} , ${size} kb) </span> 
54                </div> 
55 
56			</#list> 
57			        	       
58        </div> 
59	</#list> 
60</#if>