簡體   English   中英

吊索在href內打印錯誤的值

[英]Sling printing wrong value inside an href

我必須在兩個不同的位置顯示兩個不同的橫幅,第一個顯示在“謝謝”頁面內,第二個顯示在確認電子郵件中。 在兩種情況下,我都需要在URL中打印一些信息。

在第一種情況下,橫幅是由腳本生成的,其中我使用Sling傳遞了一些值

<sly data-sly-use.data="........controller.BookingFormModificaController"></sly>
<sly data-sly-use.booking=".......controller.BookingConferma"></sly>


<div id='b_container'>
<script type = 'text/javascript' id='sp_widget' data-hash='00000' datacontainer='b_container' data-size='1080x500' data-tpncy='false' src='example.com/js/booking_sp_widget.js?checkin=${ data.depDateOld }&checkout=${ data.retDateOld }&iata_orr=1&iata=${ data.arrivalAirport }&lang=${ booking.selectedLanguage }&selected_currency=${ booking.ctx.currency } '></script>
</div>

這是結果,並且是正確的:

src="http://www.example.com/00000?fid=1540980292381&checkin=2018-12-17&checkout=2018-12-22&iata_orr=1&iata=MXP&lang=it&selected_currency=EUR&dsize=1080,500&dtpncy=false&dtsize=&dmsize="

在第二種情況下(電子郵件)不是腳本,而是帶有標簽的img,如下所示

<sly data-sly-use.data="........controller.BookingFormModificaController"></sly>
<sly data-sly-use.booking=".......controller.BookingConferma"></sly>

<a href="https://example.com/searchresults.it.html?aid=1503416&checkin=${ data.depDateOld }&checkout=${ data.retDateOld }&iata_orr=1&iata=${ data.arrivalAirport }&lang=${ booking.selectedLanguage }&selected_currency=${ booking.ctx.currency }">
    <img src="https://via.placeholder.com/1080x300" width="100%" alt="" style="margin:0; padding:0;border:none;display:block;" />
</a>

但是在這種情況下,發送電子郵件后,它具有以下網址:

href="https://example.com/searchresults.it.html?aid=1503416&checkin=&checkout=&iata_orr=1&iata=&lang=&selected_currency="

我的目標是生成第一個URL。

將queryParameter附加到HTL / Sightly中的鏈接時,可以輕松使用內置鏈接構建器。 只需在SlingModel中構建地圖就可以了。

HTL

<a class="a-link" href="${ myModel.linkPath @ extension='json', query=myModel.queryParameterMap }">...</a>

吊帶型號

public static Map<String, String> getQueryParameterMap(final Page currentPage)
{
    final Map<String, String> map = new HashMap<>();

    if (Objects.nonNull(currentPage))
    {
        map.put("someParameterA", "someValueA");
        map.put("someParameterB", "someValueB");
    }
    return map;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM