JSP中的表达式元素 <%= ...%>只有一个java表达式 例如:
Index.jsp
----------
Welcome to JSP scripting elements
<%! int num1=10;
int num2=20;
int add;
%>
<% add=num1+num2 %>
Addition is<%= add %> <@!-- Expression tag -->
答案 0 :(得分:4)
因为他们是表达,而不是陈述。
<%= add %>
被翻译为
out.print(add);
所以在表达之后你真的不想要一个分号。这会导致
out.print(add;);
这不是有效的Java。
答案 1 :(得分:2)
来自the Java Server Programming Black Book:
表达式标记包含一个脚本语言表达式,它被计算,转换为String,并插入表达式 出现在JSP文件中。因为表达式的值是 转换为String ,您可以在文本中使用表达式 JSP文件。
像:
<%= someExpression %> <%= (new java.util.Date()).toLocaleString() %>
您不能使用分号结束表达式。
在您的示例代码中
<%= add %>
装置
out.print(add);
如果您必须在关闭标记
之前添加分号然后它无效
out.print(add;);
它显示了一些错误。
答案 2 :(得分:1)
因为"=" in <%= %>
之后的所有内容都会保留在out.print(abc);
因此,如果你添加分号,它就像out.print(abc;);
- &gt;这是编译时错误。
与
非常相似没有分号
System.out.println(abc);
如果你添加分号,那么
System.out.println(abc;);