我的JSP(下面的源代码)没有显示标记的value属性<c:out>.根据以下代码,我${param.username}的评估正确.使用请求参数访问JSP页面?username=jeff.
有什么想法吗?我觉得我在这里缺少一些简单的东西.
翻译/编译后的JSP,输出和源代码如下:
prac.jsp
<html xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<head><title>Practice JSP</title></head>
<body>
<h2>Practice JSP</h2>
Username: <c:out value="${param.username}" default="No username"/><br/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
产量
Practice JSP
Username:
Run Code Online (Sandbox Code Playgroud)
来源(右键单击,从浏览器查看页面源)
<html xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<head><title>Practice JSP</title></head>
<body>
<h2>Practice JSP</h2>
Username: <c:out value="jeff" default="No username"/><br/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这里,
<html xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:c="http://java.sun.com/jsp/jstl/core">
Run Code Online (Sandbox Code Playgroud)
您将taglib声明为XML命名空间,该命名空间仅适用于JSPX,而不适用于"普通的"JSP.既然你没有在问题的任何地方明确提到"JSPX",即使不在文件扩展名中,我也认为你实际上使用的是"普通的"JSP.在这种情况下,XML命名空间不起作用.您需要声明taglib <%@taglib%>.
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
Run Code Online (Sandbox Code Playgroud)
请注意,我删除了xmlns:jsp没有@taglib等效的东西,因为它已经由JSP解析器隐式完成了.与XML命名空间相反,您无需为自己指定taglib http://java.sun.com/JSP/Page.
或者,如果您确实打算使用JSPX,那么您应该将文件重命名为prac.jspx.
| 归档时间: |
|
| 查看次数: |
6709 次 |
| 最近记录: |