zoukankan      html  css  js  c++  java
  • 三种Scriptlet总结

    什么是Scriptlet?

    在JSP中,Scriptlet称为脚本小程序,所有嵌套在HTML代码中的Java程序都必须使用Scriptlet标记出来。

    第一种:<% %>

    在此Scriptlet中可以定义局部变量(并非全局变量)编写语句

    例如:

    <%

      int x=10;

      out.println("<p>x="+x+"</P>");

    %>

    <%

      out.println("<p>x="+x+"</P>");

    %>

    初学JSP者看到上面这段代码可能会觉得陌生又熟悉,那是因为这完全就是java代码,却又输出了HTML语句,没错!这就是使用java语句在网页上显示"x=10"

    第二次在网页上显示变量x时,同样是"x=10",小编以前以为<% %>里面定义的变量是局部变量所以出了<% %>就会报错,但其实不是,想想Java中对局部变量的定义,局部变量存在在一个方法中或者以个代码块中,如果上面的<% %>全部去掉,是不是像Java中的一个代码块了呢?所以第二次输出也是正确的。

    第二种:<%! %>

    在这种Scriptlet中可以定义全局变量,方法,类

    <%!public static final String info = "www.baidu.com";//定义全局变量

    public int add(int a, int b) {//定义方法
    return a + b;
    }

    class Person {//定义类
    private String name;
    private int age;

    public Person() {
    }

    public Person(String name, int age) {
    this.name = name;
    this.age = age;
    }

    public String toString() {
    return "name=" + this.name + " age=" + this.age;
    //在此方法中不可以有输出语句
    }
    }%>
    <%
    out.println("<p>info=" + info + "</p>");
    out.println("<p>3+5=" + add(3, 5) + "</p>");
    out.println("<p>个人信息:" + new Person("张三", 12).toString() + "</p>");
    %>

    网页上显示结果:

    第三种:<%=%>

     在此Scriptlet中输出一个变量或一个具体的常量,称为表达式输出

    将上面的输出形式换成下面的输出形式:

    <p>info=<%=info %></p>
    <p>3+5=<%=add(3,5) %></p>
    <p>个人信息:<%=new Person("张三",12).toString() %></p>

    将得到同样的效果.

    那么问题来了,既然这两种输出形式的效果一样,那么以后是不是随便写那个都可以呢?

    尽量不要使用out.println();输出,而使用表达式输出

    在jsp的开发中,实际上就是在HTML中加入一些控制及输出的语句,所以在输出时为了使HTML代码和Java代码相分离,最好的做法是只输出由Java(JSP)程序产生的变量,那么这时使用表达式输出就比使用out.println()更加方便.

    小编还在学习阶段,如果有写的不好的地方,请大神指教O(∩_∩)O~~

  • 相关阅读:
    serial number
    python getopt
    python readline,seek
    linux scp
    jenkinsapi
    windows kill process
    python time
    python configparse
    解决某些.net不方便解决的问题,解决方法就是 DHTML
    (转)windows XP 系统服务“关闭”详细列表,释放N多内存,128也够用了!
  • 原文地址:https://www.cnblogs.com/linwen5723/p/5967674.html
Copyright © 2011-2022 走看看