¿Qué vas a encontrar aquí?

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")  [in template "30371356#30371394#30521243" at line 1, column 39]

----
Tip: If the failing expression is known to 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 journalArticleLocalService = ...  [in template "30371356#30371394#30521243" at line 1, column 1]
----
1<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService")> 
2<#assign journalArticleResourceLocalService = serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleResourceLocalService")> 
3<#assign journalArticleClassName = "com.liferay.portlet.journal.model.JournalArticle"> 
4<#assign recosURL = themeDisplay.getURLPortal() + themeDisplay.getURLCurrent()> 
5<#assign linkNewsText = ""> 
6<#if recosURL?contains("?")> 
7    <#assign recosURL = recosURL?substring(0,recosURL?index_of("?"))> 
8</#if> 
9<#if recosURL?contains("/es/") && !recosURL?contains("recomendaciones")> 
10    <#assign recosURL = recosURL?replace(recosURL?substring(recosURL?index_of("/es/") + "/es/"?length,recosURL?length), "recomendaciones")> 
11    <#assign linkNewsText = "M&aacute;s recomendaciones"> 
12</#if> 
13<#if recosURL?contains("/eu/") && !recosURL?contains("gomendioak")> 
14    <#assign recosURL = recosURL?replace(recosURL?substring(recosURL?index_of("/eu/") + "/eu/"?length,recosURL?length), "gomendioak")> 
15    <#assign linkNewsText = "Gomendio gehiago"> 
16</#if> 
17<div class="adm_recomendaciones"> 
18    <div class="adm_recomendaciones_listado"> 
19    <#if entries?has_content> 
20    	<#list entries as curEntry> 
21    		<#assign journalArticleResource = journalArticleResourceLocalService.getJournalArticleResource(curEntry.getClassPK()) > 
22            <#assign journalArticle = journalArticleLocalService.getArticle(groupId, journalArticleResource.getArticleId()) > 
23    		<#if curEntry?has_content> 
24    		      <#assign renderer = curEntry.getAssetRenderer()> 
25    		      <#assign className = renderer.getClassName() > 
26    		      <#if validator.equals(className?string,journalArticleClassName?string) > 
27    		            <#assign journalArticle = renderer.getArticle() > 
28    		            <#assign document = saxReaderUtil.read(journalArticle.getContentByLocale(locale)) > 
29    		            <#assign img = document.valueOf("//dynamic-element[@name='imagen']/dynamic-content/text()") /> 
30    		            <#assign titulo = document.valueOf("//dynamic-element[@name='textoLink']/dynamic-content/text()") /> 
31    		            <#assign enlace = document.valueOf("//dynamic-element[@name='link']/dynamic-content/text()") /> 
32    		            <#assign documento = document.valueOf("//dynamic-element[@name='documento']/dynamic-content/text()") /> 
33    		            <#if documento?has_content > 
34    		                <#assign url = "href='${documento}'" /> 
35    		            <#elseif enlace?has_content > 
36    		                <#assign url = "href='${enlace}'" /> 
37    		            </#if> 
38    		            <#assign target = ""> 
39    		            <#if (url?contains("https") || url?contains("https")) && !url?contains("adimengunea") || documento?has_content> 
40    		                <#assign target = " target='_blank'"> 
41    		            </#if> 
42    		      </#if> 
43    		      <div class="col-12 col-sm-4 col-md-4 col-lg-3 recomendacion"> 
44    		        <a class="enlaceRecomendacion" ${url}${target}> 
45    		            <div class="img"><img src="${img}"${target}></div> 
46    		            <div class="title"><p>${titulo}</p></div> 
47    		        </a> 
48    		      </div> 
49    		</#if> 
50    	</#list> 
51    </#if> 
52    </div> 
53</div> 
54<style> 
55.adm_recomendaciones{ 
56    margin-bottom: 85px; 
57
58.adm_recomendaciones .adm_recomendaciones_listado{ 
59    justify-content: center;  
60    display: flex;  
61    flex-direction: column; 
62    width: fit-content; 
63    margin-right: auto; 
64    margin-left: auto; 
65
66 
67.adm_recomendaciones .adm_recomendaciones_listado .recomendacion{ 
68    display: flex;  
69    flex-direction: column;  
70    justify-content: space-between;  
71    margin-bottom: 70px; 
72    padding: unset; 
73
74 
75.adm_recomendaciones .adm_recomendaciones_listado .recomendacion:last-child{ 
76    margin-bottom: unset;  
77
78 
79.adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion:active{ 
80    text-decoration: unset; 
81
82 
83.adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .img{ 
84    text-align: center; 
85    margin-bottom: 15px;     
86
87 
88.adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .img img{ 
89    flex-grow: 1; 
90    width: 345px; 
91    height: auto; 
92
93 
94.adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .title{ 
95    display: flex;  
96    margin-left: auto;  
97    margin-right: auto;  
98    max-width: 185px;   
99    text-align: center; 
100    justify-content: center; 
101
102 
103.adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .title p{ 
104    color: rgb(33, 33, 33);  
105    font-family: "Open Sans", sans-serif; 
106    font-size: 16px; 
107    font-variant-ligatures: none; 
108    text-align: center; 
109    font-weight: normal; 
110
111 
112.adm_recomendaciones .adm_recomendaciones_enlace{ 
113    text-align: center; 
114    margin-top: 55px; 
115    font-size: 14px; 
116    text-transform: uppercase; 
117
118 
119.adm_recomendaciones .adm_recomendaciones_enlace .enlaceRecomendaciones{ 
120    color: #000000; 
121    font-weight: bold; 
122
123 
124.adm_recomendaciones .adm_recomendaciones_enlace .enlaceRecomendaciones:hover{ 
125    color: #000000; 
126
127 
128.taglib-page-iterator{ 
129    margin-left: 5px; 
130    margin-right: 5px;     
131
132 
133.taglib-page-iterator .lfr-pagination .search-results{ 
134    display: none; 
135
136 
137.taglib-page-iterator .lfr-pagination ul li a{ 
138    margin-right: 10px; 
139    color: #537391 !important; 
140    border: unset; 
141
142 
143.taglib-page-iterator .lfr-pagination ul li.disabled a{ 
144    color: #999 !important; 
145    pointer-events: none; 
146
147 
148.taglib-page-iterator .lfr-pagination ul li.disabled a:focus, .taglib-page-iterator .lfr-pagination ul li.disabled a:focus-visible{ 
149    border: unset; 
150
151 
152.aui .btn, .aui .btn:hover, .aui .btn:focus, .aui .btn:active, .aui .btn.active, .aui .btn.disabled, .aui .btn[disabled]{ 
153    background-color: #537391; 
154    background-position: 0 -50px; 
155    color: #ffffff; 
156
157 
158.aui .btn-group.open .btn.dropdown-toggle { 
159    background-color: #537391; 
160
161 
162.aui .dropdown-menu>li>a:hover, .aui .dropdown-menu>li>a:focus, .aui .dropdown-submenu:hover>a, .aui .dropdown-submenu:focus>a{ 
163    background-color: #537391; 
164    background-image: unset; 
165    color: #ffffff; 
166
167 
168.taglib-page-iterator .lfr-pagination .lfr-pagination-config .lfr-pagination-delta-selector{ 
169    display: none; 
170
171 
172.taglib-page-iterator .lfr-pagination .lfr-pagination-config .lfr-pagination-page-selector .btn-group.lfr-icon-menu.current-page-menu .dropdown-toggle.direction-down.max-display-items-15.btn{ 
173    margin-left: 31%; 
174    margin-right: 31%; 
175    margin-bottom: 15px; 
176    width: auto; 
177    font-size: 14px; 
178
179 
180.taglib-page-iterator .lfr-pagination .lfr-pagination-config .lfr-pagination-page-selector .btn-group.lfr-icon-menu.current-page-menu .dropdown-toggle.direction-down.max-display-items-15.btn .caret{ 
181    margin-left: 5px; 
182    border-top: 4px solid white; 
183
184 
185.taglib-page-iterator .lfr-pagination .pager.lfr-pagination-buttons{ 
186    margin-top: 20px; 
187    width: fit-content; 
188    margin-left: auto; 
189    margin-right: auto; 
190
191 
192div#wrapperIkastea .taglib-page-iterator ul.lfr-pagination-buttons>li{ 
193    margin-top: auto; 
194    margin-bottom: auto; 
195
196 
197div#wrapperIkastea .taglib-page-iterator ul.lfr-pagination-buttons>li a{ 
198    font-size: 14px; 
199    padding: unset; 
200    margin-right: 13px; 
201    margin-left: 13px; 
202
203 
204@media (min-width: 768px){ 
205    .adm_recomendaciones .adm_recomendaciones_listado{ 
206        flex-flow: row wrap; 
207        justify-content: flex-start; 
208        width: auto; 
209
210    .adm_recomendaciones .adm_recomendaciones_listado .recomendacion{ 
211        margin-bottom: 35px; 
212        padding-right: 18px; 
213        padding-left: 18px; 
214
215    .adm_recomendaciones .adm_recomendaciones_listado .recomendacion:nth-child(3n+2){ 
216        margin-right: auto; 
217        margin-left: auto; 
218
219     
220    .adm_recomendaciones .adm_recomendaciones_listado .recomendacion:last-child{ 
221        margin-left: unset !important; 
222
223    .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .img img{ 
224        height: 195px; 
225        width: 195px; 
226
227    .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .title p{ 
228        font-size: 18px; 
229
230    .taglib-page-iterator{ 
231        margin-left: 18px; 
232        margin-right: 18px;     
233
234    .taglib-page-iterator .lfr-pagination .lfr-pagination-config .lfr-pagination-page-selector .btn-group.lfr-icon-menu.current-page-menu .dropdown-toggle.direction-down.max-display-items-15.btn{ 
235        margin-left: unset; 
236        margin-right: unset; 
237        font-size: 16px; 
238
239    .taglib-page-iterator .lfr-pagination .pager.lfr-pagination-buttons{ 
240        margin-top: 8px; 
241        margin-bottom: 8px;        
242
243    div#wrapperIkastea .taglib-page-iterator ul.lfr-pagination-buttons>li a{ 
244        font-size: 16px; 
245        padding: 5px 14px; 
246        margin-right: unset; 
247
248
249 
250@media (min-width: 840px){ 
251    .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .img img{ 
252        width: 275px; 
253        height: 275px; 
254
255
256 
257@media (min-width: 1024px){ 
258    .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .title p{ 
259        font-size: 22px; 
260
261    .adm_recomendaciones .adm_recomendaciones_enlace{ 
262        font-size: 16px; 
263
264
265 
266@media (min-width: 1176px){ 
267    .adm_recomendaciones .adm_recomendaciones_listado{ 
268        justify-content: flex-start; 
269
270    .adm_recomendaciones .adm_recomendaciones_listado .recomendacion{ 
271        padding-right: 15px; 
272        padding-left: 15px;         
273
274    .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .img img{ 
275        width: 333px; 
276        height: 333px; 
277
278    .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .title{ 
279        margin-top: 25px; 
280        margin-bottom: 15px; 
281
282    .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion:hover{ 
283        color: #537391; 
284        text-decoration: unset; 
285
286    .adm_recomendaciones .adm_recomendaciones_listado .recomendacion .enlaceRecomendacion .img:hover img{ 
287     	box-shadow: 0.5px 0.5px 3px 3px #537391; 
288
289
290 
291@media (min-width: 1200px){ 
292    .taglib-page-iterator{ 
293        margin-left: 1.3%; 
294        margin-right: 3%;     
295
296    .adm_recomendaciones .adm_recomendaciones_listado .recomendacion:nth-child(3n+2){ 
297        margin-right: unset; 
298        margin-left: unset; 
299
300
301</style>