jsf中创建变量不输出值
Create variables in jsf without outputting the value
在 jsp 中,我可以像在这种情况下那样使用 el 创建自定义变量
#{l = ["one", "two", "three"]}
<h:body>
<h:outputText value="#{l}"/>
</h:body>
但在这种情况下,只要我在第一行创建它们,它们就会在页面上输出,结果是双倍的。有没有办法定义它们而不在屏幕上打印它们?
按照此处所述使用 JSTL 集标记 JSTL
看起来像:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title><c:set> Tag Example</title>
</head>
<body>
<c:set var="salary" scope="session" value="${2000*2}"/>
<c:out value="${salary}"/>
</body>
</html>
也可以使用标准 JSP 小脚本来嵌入 Java 代码并声明变量,这些变量在整个 JSP 中可用并且可以在 EL 中使用:
<html>
<body>
<%
// This is a scriptlet. Notice that the "date"
// variable we declare here is available in the
// embedded expression later on.
java.util.Date date = new java.util.Date();
%>
The time is now <%= date %>
</body>
</html>
在 jsp 中,我可以像在这种情况下那样使用 el 创建自定义变量
#{l = ["one", "two", "three"]}
<h:body>
<h:outputText value="#{l}"/>
</h:body>
但在这种情况下,只要我在第一行创建它们,它们就会在页面上输出,结果是双倍的。有没有办法定义它们而不在屏幕上打印它们?
按照此处所述使用 JSTL 集标记 JSTL 看起来像:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title><c:set> Tag Example</title>
</head>
<body>
<c:set var="salary" scope="session" value="${2000*2}"/>
<c:out value="${salary}"/>
</body>
</html>
也可以使用标准 JSP 小脚本来嵌入 Java 代码并声明变量,这些变量在整个 JSP 中可用并且可以在 EL 中使用:
<html>
<body>
<%
// This is a scriptlet. Notice that the "date"
// variable we declare here is available in the
// embedded expression later on.
java.util.Date date = new java.util.Date();
%>
The time is now <%= date %>
</body>
</html>