Question

I have a JSP page running in Tomcat that is not rendering properly. Here is what helloworld.jsp looks like:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="cms-taglib" prefix="cms" %>
<html>
  <head>
    <title>${content.title}</title>
  </head>
  <body>
    <cms:mainBar
       dialog="my-page-properties-dialog"
       label="Page Properties"
       adminButtonVisible="true"/>
    <h1>${content.title}</h1>
    <p>Hello Magnolia World !</p>

    Current time: <%= new java.util.Date() %>
    <%-- JSP Comment --%>

  </body>
</html>

and the final output is like this:

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="cms-taglib" prefix="cms" %> Hello Magnolia World!

Hello Magnolia World ! Current time: <%= new java.util.Date() %> <%-- JSP Comment --%>

In short, it seems like only the expression ${content.title} is evaluated and rendered fine but everything else like the page directives, other JSP expressions and JSP comments are not.

I'm using a CMS that comes with Tomcat but the JSP templates samples from the distribution seem fine. I suppose it's something wrong from the code I written above.

Update: I've fixed the closed tag for the date expression and the comment. However, the page directives aren't being parsed.

Was it helpful?

Solution 2

I found the problem. It's a stupid mistake on my end. Even though I fixed the correct JSP syntax and had the jsp extension, I needed to tell the CMS engine to explicitly render that one template as JSP. Thanks everyone for catching my syntax error though. I suppose it's something to watch out for when working with other frameworks.

OTHER TIPS

I think there are problem with your jsp comment.

It should look like below. Are you not using IDE to develop your jsp? Your IDE should tell you when you have syntax error.

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="cms-taglib" prefix="cms" %>
<html>
  <head>
    <title>${content.title}</title>
  </head>
  <body>
    <cms:mainBar
       dialog="my-page-properties-dialog"
       label="Page Properties"
       adminButtonVisible="true"/>
    <h1>${content.title}</h1>
    <p>Hello Magnolia World !</p>

    Current time: <%= new java.util.Date() %>
    <%-- JSP Comment --%>

  </body>
</html>

The java scriplet <%= new java.util.Date() % is also not closed properly (<%= new java.util.Date() %>) plus like gigadot stated, the <%-- JSP Comment --% is not closed properly <%-- JSP Comment --%>.

Regards,

Usually we see the code,displayed in browser when a file is not recognized by the parser,i.e file extension is not added to parser list.

Usually tomcat has this configuration in web.xml under /conf folder.

Also, if you are using some text editor to code, Please ensure you are storing with .jsp extension only and not .jsp.txt, accidentally !

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top