如何使用 EL 特别是在另一个JSP 中包含JSP片段?
login.jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>login</title>
</head>
<body>
<img src="${sessionScope.auth.duke}">
my name is ${requestScope.controller.myName}, ${requestScope.controller.myId}, what's yours?
<form name="user_name_form" action="controller" method="POST">
login: <input type="text" name="login" value="" size='20' />
<p>
<input type="submit">
</p>
</form>
${sessionScope.auth.greeting}
<p/>
fragment goes here with EL...
<p/>
</body>
</html>fragment.jspf:
<%-- any content can be specified here e.g.: --%>
<%@ page pageEncoding="UTF-8" %>
<h2>Hello World!</h2>
fragment here或者,是否不可能将片段包含在EL中
我知道很多使用JSTL的例子。这不是不可能的,我误解了这些技术的相互作用。
表达式语言最初是作为JavaServer页面标准标记库(JSTL)的一部分,最初被称为SPEL (最简单的可能表达式语言),然后是表达式语言(EL)。它是一种脚本语言,允许通过JSP访问JavaBeans (JavaBeans)。自JSP 2.0以来,它一直在JSP标记中使用,以将Java代码与JSP分离开来,并允许更容易地访问Java组件(而不是Java代码)。
--维基百科
以及:
从JSP2.0开始,标准EL从JSTL迁移到JSP,并作为JSP规范的一部分进行维护。
另见:
http://www.coderanch.com/t/434381/java-Web-Component-SCWCD/certification/jspf-working-jsp-include-jsp
发布于 2015-02-18 04:37:17
如果您的片段中的EL没有得到评估,那么这可能是因为您的应用服务器不知道它需要评估EL。正如您在链接的文章中所看到的,如果您在Tomcat上,解决方案就是向您的web.xml文件中添加一些行:
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jspf</url-pattern>
</servlet-mapping>如果您不在Tomcat上,那么您必须弄清楚需要指定什么配置,以便告诉应用服务器在具有.jspf扩展名的文件上运行JSP。
https://stackoverflow.com/questions/28521812
复制相似问题