scriptlet
<!-- <%! %>:可以修饰全局变量、常量、类、方法 对应java类中的成员变量、常量、内部类、成员方法 --> <%! int num=10;//全局变量 public static final String s="hello";//全局常量 public int add(int ...args){//方法 int sum=0; for(int x:args){ sum+=x; } return sum; } class Phone{//类 private String brand; private Double price; public Phone(String brand,Double price){ this.brand=brand; this.price=price; } public String toString(){ return "brand="+brand+",price="+price; } } %> <% out.println(num++); out.println(s); Phone p=new Phone("xiaomi",123.0); out.println(p.toString()); out.println(add(10,20,30)); %>
<!-- <% %>:可以修饰局部变量、编写代码 --> <% //局部变量 int num=10; //编写代码 if(num>10){ out.println("num first"); }else{ out.println("num second"); } %>
<!-- 测试代码:JSP-->Javascript ---> <script type="text/javascript"> var arr=new Array(); <% int[] data=new int[]{1,2,3,5}; for(int i=0;i<data.length;i++){ out.println(data[i]);//1,2,3,5 out.println("arr["+i+"]="+data[i]+";");//arr[0]=1; } %> window.onload=function(){ var myDiv=document.getElementById("myDiv"); myDiv.innerHTML="LENGTH="+arr.length; } </script> <div id="myDiv"></div>
<%=%>:输出变量或者是常量(jsp代码与html、javascript代码分离) <table> <% for(int i=0;i<10;i++){ %> <tr> <% for(int j=0;j<10;j++){ %> <td><%=i+j%></td> <% } %> </tr> <% } %> </table>
总结: 1."<%!%>":定义全局常量; 2."<%%>":局部变量、编写语句; 3."<%=%>":输出变量或者是常量;