How to pass raw html to Play framework view?

前端 未结 2 1559
眼角桃花
眼角桃花 2021-02-04 01:11

I\'m trying to pass a simple URL to a view within a play framework app, however when passed as a string, the & in the url is changed to & w

相关标签:
2条回答
  • 2021-02-04 01:53

    If you want to render HTML content instead of displaying it as raw text, return the content .as("text/html"). Example:

    WS.url("http://www.stackoverflow.com").get().map(resp => Ok(resp.body).as("text/html"))
    
    0 讨论(0)
  • 2021-02-04 01:55

    To prevent the default escaping that happens for dynamic content on views you need to wrap the String with @Html(String) function:

    View:

    @(url: String)
    <div class="myLink">
       Go to: @Html(url) <br>
       not to: @url
    </div>
    

    Controller:

    public static Result displayLink(){
       return ok(view.render("<a href='http://stackoverflow.com/'>Stack Overflow</a>"));
    }
    

    See The template engine page on the documentation for more info (specifically the "Escaping" section at the very bottom).

    0 讨论(0)
提交回复
热议问题