我们为什么要将jsp scriptlet和jsp表达式分开?

时间:2014-01-13 15:34:15

标签: jsp

为什么我们应该在jsp scriptlet中嵌入jsp表达式,如下所示 假设状态为真

if(state) { %>

    <%= "yes"%>

<%} else { %>

    <%= "no"%>

%<}%>

1 个答案:

答案 0 :(得分:0)

<%= foo %>表示:评估foo,并将其打印到JSP编写器。所以,如果你想在scriptlet中做到这一点,你只需要

<% out.print(foo); %>

您的上述示例因此可以写为

<%
if(state) {
    out.print("yes");
} else {
    out.print("no");
}
%>

尽管如此,不应该使用scriptlet,而且多年来都不应该使用scriptlet。了解JSP ELJSTL,并根据需要使用其他自定义标记。但是不要使用scriptlet。

例如,如果state是页面或请求属性,则上述代码可以写为

${state ? "yes" : "no"}