<% %>
可添加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代码也报错,比较容易发现,但是,比如:
这种如果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只是一个显示数据的作用