Asset-Herausgeber

Fehler bei der Verarbeitung der Vorlage.
The following has evaluated to null or missing:
==> httpUtil.setParameter  [in template "10154#10194#46568" at line 131, column 57]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
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 viewFullContentURLString = ht...  [in template "10154#10194#46568" at line 131, column 21]
----
1<div class="assets asset-theme-2"> 
2    <#assign jsonFactoryUtil = staticUtil["com.liferay.portal.kernel.json.JSONFactoryUtil"] /> 
3    <#assign temp_counter = 0> 
4    <#assign index_counter = 0> 
5    <#if entries?has_content> 
6        <#list entries as entry> 
7            <#assign 
8            entry = entry 
9 
10            assetRenderer = entry.getAssetRenderer() 
11 
12            entryTitle = htmlUtil.escape(assetRenderer.getTitle(locale)) 
13 
14            viewURL = assetPublisherHelper.getAssetViewURL(renderRequest, renderResponse, assetRenderer, entry, !stringUtil.equals(assetLinkBehavior, "showFullContent")) 
15            /> 
16 
17            <#assign docXml = saxReaderUtil.read(entry.getAssetRenderer().getArticle().getContent()) /> 
18            <#assign untertitel = docXml.valueOf("//dynamic-element[@name='Untertitel']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") /> 
19            <#assign teaser_text = docXml.valueOf("//dynamic-element[@name='Teaser_Text']/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") /> 
20            <#assign artikel_text = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-content[@language-id='${locale}']/text()")?replace("</?[^>]+(>|$)", "", "r") /> 
21            <#assign bildJson = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-element[@name='Bild']/dynamic-content[@language-id='${locale}']/text()") /> 
22            <#assign alternativtext_bild = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-element[@name='Alternativtext_Bild']/dynamic-content[@language-id='${locale}']/text()") /> 
23            <#assign bildtext = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-element[@name='Bildtext']/dynamic-content[@language-id='${locale}']/text()") /> 
24            <#assign bildausrichtung = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-element[@name='Bildausrichtung']/dynamic-content[@language-id='${locale}']/text()") /> 
25            <#assign lightbox_anzeigen = docXml.valueOf("//dynamic-element[@name='Page'][1]/dynamic-element[@name='lightbox_anzeigen']/dynamic-content[@language-id='${locale}']/text()") /> 
26 
27        <#-- Start Ergänzung Gaul 21.04.2020 zur Anzeige von PDFs --> 
28            <#assign pdfDocumentJson = docXml.valueOf("//dynamic-element[@name='pdfDocument']/dynamic-content[@language-id='${locale}']/text()") /> 
29 
30        <#-- Get image path --> 
31            <#if pdfDocumentJson?has_content> 
32                <#assign 
33                pdfDocumentJson = jsonFactoryUtil.looseDeserialize(pdfDocumentJson) 
34                pdfDocument = "/documents/" + pdfDocumentJson.groupId + "/" + pdfDocumentJson.uuid + "?documentThumbnail=1" 
35                /> 
36            <#else> 
37                <#assign pdfDocument = "" /> 
38            </#if> 
39        <#-- Ende Ergänzung Gaul 21.04.2020 zur Anzeige von PDFs --> 
40 
41            <#assign temp_counter = temp_counter + 1> 
42            <#assign index_counter = index_counter + 1> 
43 
44        <#-- Get image path --> 
45            <#if bildJson?has_content> 
46                <#assign 
47                bildJson = jsonFactoryUtil.looseDeserialize(bildJson) 
48                bild = "/documents/" + bildJson.groupId + "/" + bildJson.uuid + "?imageThumbnail=1" 
49                /> 
50            <#else> 
51                <#assign bild = "" /> 
52            </#if> 
53 
54        <#-- OPEN ROW --> 
55            <#if temp_counter == 1> 
56                <div class="asset_news_row"> 
57            </#if> 
58 
59            <div class="asset asset_news"> 
60 
61                <#-- Start Ergänzung Gaul 21.04.2020 zur Anzeige von PDFs --> 
62                <a href="${viewURL}"> 
63                    <#-- Ende Ergänzung Gaul 21.04.2020 zur Anzeige von PDFs --> 
64 
65                    <#if bild?has_content> 
66                        <#if bildausrichtung = "left"> 
67                            <div class="asset_image left"> 
68                                <img src="${bild}" alt="${alternativtext_bild}" title="${alternativtext_bild}" /> 
69                            </div> 
70                        </#if> 
71                        <#if bildausrichtung = "right"> 
72                            <div class="asset_image right"> 
73                                <img src="${bild}" alt="${alternativtext_bild}" title="${alternativtext_bild}" /> 
74                            </div> 
75                        </#if> 
76                    <#-- Start Ergänzung Gaul 19.04.2020 zur Anzeige von PDFs --> 
77                    <#else> 
78                        <#if pdfDocument?has_content> 
79                            <div class="asset_image left"> 
80                                <img src="${pdfDocument}&documentThumbnail=1" style="border: 1px solid grey;"  /> 
81                            </div> 
82                        </#if> 
83 
84                    <#-- Ende Ergänzung Gaul 19.04.2020 zur Anzeige von PDFs --> 
85                    </#if> 
86 
87                    <#-- Start Ergänzung Gaul 21.04.2020 zur Anzeige von PDFs --> 
88                </a> 
89                <#-- Ende Ergänzung Gaul 21.04.2020 zur Anzeige von PDFs --> 
90 
91                <div class="asset_text"> 
92                    <h4 class="asset_headline"><#if Untertitel??><#if untertitel?has_content><span class="asset_subheadline">${untertitel}</span></#if></#if>${entry.getTitle(locale)}</h4> 
93 
94                    <#assign teaser_text_length = teaser_text?length> 
95                    <#assign artikel_text_length = artikel_text?length> 
96                    <#assign maxLength = 300> 
97 
98                    <#if teaser_text?has_content> 
99                        <#if teaser_text_length < maxLength> 
100                            <div class="text">${teaser_text}</div> 
101                        <#else> 
102                            <div class="text">${teaser_text?substring(0,maxLength-1)}...</div> 
103                        </#if> 
104                    <#else> 
105                        <#if artikel_text_length < maxLength> 
106                            <div class="text">${artikel_text}</div> 
107                        <#else> 
108                            <div class="text">${artikel_text?substring(0,maxLength-1)}...</div> 
109                        </#if> 
110                    </#if> 
111 
112                    <#assign viewInContext = false> 
113 
114                    <#if assetLinkBehavior == "viewInPortlet"> 
115                        <#assign viewInContext = true> 
116                    </#if> 
117 
118 
119                    <#assign viewFullContentURL = renderResponse.createRenderURL()> 
120                    ${viewFullContentURL.setParameter("struts_action", "/asset_publisher/view_content")} 
121                    ${viewFullContentURL.setParameter("assetEntryId", entry.getEntryId()?string)} 
122                    ${viewFullContentURL.setParameter("type", entry.getAssetRendererFactory().getType())} 
123                    <#assign assetRenderer = entry.getAssetRenderer()> 
124                    <#if validator.isNotNull(assetRenderer.getUrlTitle())> 
125                        <#if assetRenderer.getGroupId() != scopeGroupId> 
126                            ${viewFullContentURL.setParameter("groupId", assetRenderer.getGroupId()?string)} 
127                        </#if> 
128                        ${viewFullContentURL.setParameter("urlTitle", assetRenderer.getUrlTitle())} 
129                    </#if> 
130                    <#assign viewFullContentURLString = viewFullContentURL?string> 
131                    <#assign viewFullContentURLString = httpUtil.setParameter(viewFullContentURLString, "redirect", currentURL)> 
132                    ${request.setAttribute("view.jsp-showIconLabel", false)} 
133 
134                    <a class="anc_more" data-senna-off="true" href="${viewURL}"><@liferay.language key="read-more" /></a> 
135 
136                </div> 
137                <div class="clear"></div> 
138            </div> 
139 
140 
141        <#-- CLOSE ROW --> 
142            <#if temp_counter == 3 || index_counter == entries?size> 
143                </div> 
144                <#assign temp_counter = 0> 
145            </#if> 
146 
147        </#list> 
148    </#if> 
149</div>