我有一个包含另一个HTML页面的JSP页面。后者具有以下内容:
<html>
<body>
<ul>
<li>
<a href="/TutorWebApp/page/common/login.jsp">${startPage}</a>
</li>
</ul>
</body>
</html>
此html文件是xml
的xslt转换结果<?xml version="1.0" encoding="UTF-8"?>
<testing>
<menu>
<menu-item>
<title>${startPage}</title>
<url>/TutorWebApp/page/common/login.jsp</url>
</menu-item>
</menu>
</testing>
并使用帮助样式表
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<body>
<ul>
<xsl:apply-templates/>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="menu-item">
<li>
<a>
<xsl:attribute name="href">
<xsl:value-of select="url"/>
</xsl:attribute>
<xsl:value-of select="title"/>
</a>
</li>
</xsl:template>
</xsl:stylesheet>
我通过使用JSTL的c:import标签包含HTML页面(我使用jspf -header和页脚,库包含在标题中)。
<fmt:bundle basename="by.epam.testing.resource.content" prefix="content.">
<fmt:message key="inputinfo" var="InputInfo"/>
<fmt:message key="exit" var="Exit"/>
<fmt:message key="startPage" var="StartPage"/>
</fmt:bundle>
<div class="left">
<c:if test="${role eq 'Tutor'}">
<c:import url="/page/menuForTutor.html" charEncoding="UTF-8"/>
</c:if>
<c:if test="${role eq 'Student'}">
<c:import url="/page/menuForStudent.html" charEncoding="UTF-8"/>
</c:if>
</div>
问题是我得到以下输出。即JSP变量名称未展开。
有什么方法可以解决这个问题吗?感谢。
答案 0 :(得分:0)
引用JB Nizet的评论:
HTML文件是静态文件,JSP编译器不解释这些文件。
您无法在HTML文件中使用JSP EL。
此外,另一个HTML页面中的完整HTML页面是无效的HTML。