2011-03-25 72 views
1

我正在尝试(并学习)构建一个java web框架,并在开发基于数据库内容的代码生成器的过程中。在制作过程中,我陷入了一个困难,我不知道如何解决它。为什么我的包含JSP文件无法正确处理?

首先,我想使用创建的所有页面下面index.jsp

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

而且,在body.jsp,我希望它是这样的:

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

哪里application_modul是在其控制器中以这种方式定义的属性:

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

它可以正确地找到文件,但处理的jsp不是我所期望的。在这里:

<c:forEach items="[[email protected], [email protected]]" var="item" varStatus="status" > 
<tr> 
.... 

你可以看到JSTL的forEach的物品属性,得到了它的变量名(的toString())...

任何想法是什么问题????

我希望我能正确描述我的问题

非常感谢!

PS: 我已经为此创建了一个快速修复,但并不是我想要的。在生成view_user_account.jsp,我不喜欢这样写道:

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

你可以看到,我在这里创建了整个文件...

编辑: PS:$ {}行是ArrayList人口与某些表的数据

回答

3

因此,总结您的问题在一个单句中,JSTL标记没有被解析,并且它们在生成的HTML输出中最终显示为纯文本?

您需要在JSP页面的顶部声明JSTL taglib,在该页面中使用JSTL标签来让它们运行。对于JSTL core taglib,那将是

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

:)是它是;)我会检查它,尽管我认为我已经做到了...... :)或者不是?让我们看看。谢谢 – swdev 2011-03-25 02:35:51

+0

它的工作原理!谢谢。非常感谢! – swdev 2011-03-25 07:52:54

0

我不知道,但尝试......

的index.jsp

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

+0

由@BalusC给出的解决方案很简单...我应该已经能够知道它:(但是,那是什么Stackoverflow的。呵呵。谢谢 – swdev 2011-03-25 07:53:51

相关问题