<% %>
可添加java代码片段
<%! %>
可添加java方法
<%! int i = 0; %>
<%! int a, b, c; %>
<%! Circle a = new Circle(2.0); %>
<%! int i = 0; %>是一个合法的变量声明,和private String x;表达的意思一样,表达式元素表示的是一个在脚本语言中被定义的表达式。
<%= %>
变量或表达式值输出到页面
<%=123 %> 相当于 <% out.println("123");%>,会在前台页面输出指定的内容。
注:在使用<%= %>时其后不能有分号。
<%-- --%>
jsp注释
<!-- -->
html注释
<!-- -->与<%-- --%>2种注释的区别
<!-- --> 是显式注释
<%-- --%>是隐式注释
在JSP中如果用
<!-- --> 则在浏览器中看得到
<%-- --%>则在浏览器中看不到
这里注意一点,如果是这两个注释用在java代码上,会有隐性的坑:
<!-- -->这种注释是静态注释,只影响前端的代码,后端的代码还是会执行;
<%-- --%>这种注释是动态注释,前后端的代码都会被屏蔽。
相当于
<!-- -->用来注释html或者xml的
<%-- --%>用来注释java代码的
一般禁止用<!-- --> 包含java代码,否则不定哪天就掉坑了
<!-- --> 一般这种包含java代码也报错,比较容易发现,但是,比如:
<!--
<jsp:include page="common/test.jsp" flush="true">
<jsp:param name="param" value="${paramValue}"/>
</jsp:include>
-->
这种如果include的jsp是java代码,就会有问题。
特别如果前面test.jsp里面还有类似下面的代码就会报异常:
<%
}
%>
需要换为下面写法,转义一下
<%
//}
%>
异常一般这样类似:
[02-08 10:33:42.740] _jsp/_test/_test_0test_0test_0test__jsp.java:2413: 需要 ';'
[02-08 10:33:42.740] throws ServletException
[02-08 10:33:42.740] ^
[02-08 10:33:42.740] _jsp/_test/_test_0test_0test_0test__jsp.java:2460: 非法的表达式开始
[02-08 10:33:42.740] public void destroy()
JSP规范
一般不要直接在jsp页面上写java代码,特别java代码和html混合的情况,例如:if,else 判断java逻辑情况,然后符合的条件出html的东西,会显得很乱,可维护性差
jsp只是一个显示数据的作用