这个使用jstl是正确的吗?为什么它不起作用?

时间:2012-06-13 17:30:45

标签: java jsp jstl

在netbeans 7和jdk 7中,一切正常,没有在我的环境中进行任何更改,旧标签工作正常jstl $ {class.get_name()} $ {page.getTitle()}

一旦我介绍新的不起作用,我不知道为什么?

看到这个简单的应用程序示例,我创建了将jstl 1.2添加到库中

仍然不起作用?

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Hello World!</h1>
        <% 
        String var1;
        var1 = "Welcome";
        %>
        normal : <%=var1%>
        <hr />
        dollar: ${var1}
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

首先,上面的页面甚至没有使用JSTL。它使用JSP EL。

我假设您希望看到dollar: "Welcome"打印,但这不会发生,因为JSP EL不会打印局部变量的值。它打印属性的值。

将您的代码更改为

<% pageContext.setAttribute("var1", "Welcome"); %>

或者,更好的是

<c:set var="var1" value="Welcome"/>

你会看到预期的输出。