Legacy Knowledge Base
Published Jun. 30, 2025

Is it expected for fragments using the getContent() selector to display non-alphanumeric characters from HTML, or XML, for Journal Article content?

Written By

Isaac Wilson

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

Legacy Article

You are viewing an article from our legacy "FastTrack" publication program, made available for informational purposes. Articles in this program were published without a requirement for independent editing or verification and are provided"as is" without guarantee.

Before using any information from this article, independently verify its suitability for your situation and project.

Issue

  • When creating a Fragment with an itemSelector field configured to select a Journal Article, the displayed content includes unexpected characters, such as "]]>" at the end. This issue does not occur when the itemSelector is configured to select a Blogs Entry.
    journalarticle-characters.png
  • Here is some of the content of the fragment:
<div class="fragment_name">
[#if configuration.itemSelector1.content??]
${itemSelector1Object.getContent()}
[/#if]
</div>

Environment

  • 2023.Q3+

Resolution

  • When reading a web content (journal article) object associated to the item selector, the content is retrieved and then serialized to JSON within the FragmentEntryConfigurationParserImpl.java file.
  • As such, the object that is returned to the fragment is a JSON representation of the entity, which means that this behavior is expected as all fields should have the values returned as they are stored.
    • In the case of content in Web Content, it’s stored as XML, not HTML (unlike a Blogs entry).
    • For other kinds of custom entities, we cannot expect that it will always be HTML (as it could be stored as XML, HTML, JSON, etc.), so it also isn't converted to HTML to ensure that the fragment can be parsed correctly depending on the use case.

Additional Information

  • One option to work around this is to use Templates for this scenario instead of custom fragments with an itemSelector field, as Templates offer a simpler setup with content insertion through pre-built Content Display fragments.
  • A feature request has also been created to explore introducing a new property similar to .getContent() that directly returns pure HTML for selected Journal Articles, to simplify content retrieval from Journal Articles within fragments. Its progress and potential implementation can be tracked at LPD-28524.
  • See more related information in the following articles:
Did this article resolve your issue ?

Legacy Knowledge Base