Publicador de contidos

Se ha producido un error al procesar la plantilla.
The following has evaluated to null or missing:
==> request.getAttribute("viewURL")  [in template "20099#20135#199218" at line 7, column 15]

----
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: viewURL = request.getAttribute("viewU...  [in template "20099#20135#199218" at line 7, column 5]
----
1<#setting locale = "es_ES"/> 
2<#assign 
3    journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") 
4    article = journalArticleLocalService.getArticle(getterUtil.getLong(scopeGroupId), .vars['reserved-article-id'].data) 
5    assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService") 
6    asset = assetEntryLocalService.getEntry('com.liferay.journal.model.JournalArticle', article.resourcePrimKey) 
7    viewURL = request.getAttribute("viewURL") 
8     
9    entryTitle = .vars['reserved-article-title'].data 
10/> 
11<div class="container2"> 
12<#if imagenSlider?has_content> 
13    <a href="${viewURL!""}" title="Ir a la entrada de blog: ${entryTitle}"> 
14        <img src="${imagenSlider.getData()}" class="main-image-blog" alt="${entryTitle}"></img> 
15    </a> 
16</#if> 
17    <#if titulo?has_content && titulo.getData() !=""> 
18    <div class="contenido-sin-imagen carousel-sin"> 
19        <div class="titulo letra-carousel"> 
20            <a href="${viewURL!""}" class=" ellipsis5" title="Ir a la entrada de blog: ${entryTitle}">${titulo.getData()}</a> 
21        </div> 
22    </div> 
23    </#if> 
24</div>