一、基础语法

  1.1  JSP表达式

  •   JSP脚本表达式(expression)用于将程序数据输出到客户端
  •   语法:<%= 变量或表达式 %>
1 <body>
2 5+3=<%= 5+3 %>
3 </body>

在浏览器上显示  :   5+3=8

  1.2  JSP声明

  • JSP页面中编写的所有代码,默认会翻译到servlet的service方法中, 而Jsp声明中的java代码被翻译到_jspService方法的外面。语法:
        <%!
            java代码
        %>
      所以,JSP声明可用于定义JSP页面转换成的Servlet程序的静态代码块、成员变量和方法 。
      多个静态代码块、变量和函数可以定义在一个JSP声明中,也可以分别单独定义在多个JSP声明中。
      JSP隐式对象的作用范围仅限于Servlet的_jspService方法,所以在JSP声明中不能使用这些隐式对象。
 1 <%!
2 static { //静态代码块
3 System.out.println("loading Servlet!");
4 }
5
6 private int globalVar = 0; //成员变量
7
8 public void jspInit(){    //方法
9 System.out.println("initializing jsp!");
10 }
11 %>
12
13 <%!
14 public void jspDestroy(){
15 System.out.println("destroying jsp!");
16 }
17 %>

 

  1.3  JSP脚本片断

  • JSP脚本片断(scriptlet)用于在JSP页面中编写多行Java代码。语法:   

     <%
            多行java代码
    %>

  • 在<% %>中可以定义变量、编写语句,不能定义方法。
  • JSP脚本片断中只能出现java代码,不能出现其它模板元素, JSP引擎在翻译JSP页面中,会将JSP脚本片断中的Java代码将被原封不动地放到Servlet的_jspService方法中。
  • JSP脚本片断中的Java代码必须严格遵循Java语法,例如,每执行语句后面必须用分号(;)结束。
  • 在一个JSP页面中可以有多个脚本片断,在两个或多个脚本片断之间可以嵌入文本、HTML标记和其他JSP元素。
1 <%
2 int sum=0;//声明变量
3
4 /*编写语句*/
5 for (int i=1;i<=100;i++){
6 sum+=i;
7 }
8 out.println("<h1>Sum="+sum+"</h1>");
9 %>

  1.4  JSP注释  

    在JSP中,注释有两大类:

  • 显式注释:直接使用HTML风格的注释:<!- - 注释内容- ->
  • 隐式注释:直接使用JAVA的注释:///*……*/
  •  JSP自己的注释:<%- - 注释内容- -%>

 2  JSP中out.write()和out.print()的区别

1)print方法是子类JspWriter,write是Writer类中定义的方法;

2)重载的print方法可将各种类型的数据转换成字符串的形式输出,而重载的write方法只能输出字符、字符数组和字符串等与字符相关的数据;
3)JspWriter类型的out对象使用print方法和write方法都可以输出字符串,但是,如果字符串对象的值为null时,print方法将输出内容为“null”的字符串,而write方法则是抛出NullPointerException异常。

4)print()和write()都是向客户端浏览器输出东西的。

最新文章

  1. 浅谈CSRF攻击方式
  2. AngularJS 中利用 Interceptors 来统一处理 HTTP 的错误(reproduce)
  3. C#加密算法总结
  4. VC连接mysql数据库错误:libmysql.lib : fatal error LNK1113: invalid machine 解决方法
  5. Android:EditText 常用属性
  6. java_可变参数构造器 Bulder模式
  7. easyui valid
  8. Android工程师必会做的20道题
  9. Linux系统Wpa_supplicant用法小结
  10. hdu2089:不要62(基础数位dp)
  11. Android学习之简单的数据存储
  12. discuz 7.2 faq.php sql注入了一些研究
  13. Android AudioPolicyService服务启动过程
  14. mysql中的一些操作语句,留存
  15. Linux系统常用命令总结
  16. python爬虫之基本知识
  17. 从零开始学习PYTHON3讲义(一)认识Python
  18. face recognition[MobiFace]
  19. C语言开发的思考
  20. Mac提醒事项如何设置为24小时制

热门文章

  1. java-mybaits-013-mybatis-Interceptor-拦截器执行顺序
  2. 123457123456#0#-----com.twoapp.ErTongHuaHua01--前拼后广--儿童绘画填色游戏jiemei
  3. C#泛型学习
  4. ElasticSearch——索引生命周期管理
  5. 【转】hr的嘴,骗人的鬼
  6. vue-slicksort拖拽组件
  7. python获取昨日日期
  8. react做的简单的购物车
  9. 入行IT的选择决定了日后走的路的长度和领域的深度
  10. Spring 使用日志