JSP not rendering properly in Tomcat

时光总嘲笑我的痴心妄想 提交于 2019-11-28 09:54:21

问题


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.


回答1:


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>



回答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.




回答3:


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,




回答4:


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 !



来源:https://stackoverflow.com/questions/4412623/jsp-not-rendering-properly-in-tomcat

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!