Search code examples
struts2

Rendering html using Struts2


Using Struts2, my goal is to present a simple blog to a user using Struts2 iterators, such as:

Most Recent Topic

  • response 1
  • response 2
  • ...

Previous Topic

  • response 1
  • response 2
  • ...

Users generate and submit each Topic/Response using a separate form, but, once submitted, I don't want them to edit the blog.

To generate either a Topic or a Response, I provide an editor (like the stackoverflow editor I'm using now) that produces html-formatted text, including whatever styling (bold, underlines, lists, etc.) that the user chooses. The text of the Topic/Response created by the user, including the html tags, is stored in a database.

However, I cannot find a way to render the Topic/Response as html in the blog. For example, text bolded in the editor shows up as <strong>text</strong> in a struts2 s:textarea tag.

I know that the s:property tag has an 'escapeHtml' attribute that will prevent this, but the s:property tag can't layout the text properly, and it seems that only the s:property tag has this attribute.

I've tried using <input value="%{#topic.content}" /> within the iterator instead of s:textarea, but it doesn't seem to recognize the #topic iteration reference.

Is there a way to do this?


Solution

  • How about using <pre> with <s:property>.

    About html <pre> tag: http://www.w3schools.com/tags/tag_pre.asp