简体   繁体   中英

Why my included JSP file won't get processed correctly?

I am trying (and learning) to build a java web framework, and in the process of developing its' code generator based on the content of the database. In the view making process, I stumble in a difficulty, which I don't know how to solve it.

Firstly, I want all the pages to be created using the following index.jsp :

<body>
<%@ include file="header.jsp" %>
<hr/>
<%@ include file="body.jsp" %>
<hr/>
<%@ include file="footer.jsp" %>
</body>

And, in the body.jsp , I want it to be like this :

  <jsp:include page="${application_modul}" %>

Where application_modul is an attribute defined in its' controller this way :

request.setAttribute("application_modul","user_account\\view_user_account.jsp");

It can find the file correctly, but the processed jsp is not what I expected. Here :

<c:forEach items="[application.models.UserAccountModel@18a49e0, application.models.UserAccountModel@1f82982]" var="item" varStatus="status" > 
<tr> 
....

You can see the items attribute of jstl forEach, got its variable name (toString())...

Any Idea what the problem is????

I hope I describe my problem correctly

Many thanks!

PS : I already create a quick fix for this, but not what I want it though. In the generated view_user_account.jsp, I do it like this :

<body>
<%@ include file="header.jsp" %>
<hr/>
<c:forEach items="${row}" var="item" varStatus="status" > 
<tr> 
....
<hr/>
<%@ include file="footer.jsp" %>
</body>

You can see that I create the whole file here...

EDITED: PS : ${row} is an ArrayList populated with data from certain table

So, to summarize your problem in a single sentence, JSTL tags are not been parsed and they end up plain in generated HTML output?

You need to declare JSTL taglib in top of the JSP page where you're using JSTL tags to get them to run. For the JSTL core taglib , that'll be

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

I am not sure but, Try this...

index.jsp

  <jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM