• 显示注释:

  <!--注释内容-->>

  • 隐式注释:

  1. //

  2./* */

  3. <%-- 注释内容--%>

<!-- 这个注释客户端就可以看见 -->
<!-- JSP中的注释,客户端无法看见 -->
<%
  // Java中提供的单行注释,客户端无法看见
  /*
  Java中提供的多行注释,客户端无法看见
  */
%>
<%-- 也看不见 --%>

打开jsp文件后,一片空白,右键,编码选择简体中文后,右键选择查看源文件可以发现以下内容:

<!-- 这个注释客户端就可以看见 -->
<!-- JSP中的注释,客户端无法看见 -->

  • Scriptlet

  脚本小程序,在jsp中有3种scriptlet代码:

1. <%%>,其中可以定义局部变量,编写语句

<%
  int x = 10 ; // 定义局部变量
  String info = "www.mldnjava.cn" ; // 局部变量
  out.println("<h2>x = " + x++ + "</h2>") ; // 语句
  out.println("<h2>info = " + info + "</h2>") ; // 语句
%>

2. <%!%>,其中可以定义全局变量,方法,类

 一般声明全局变量比较多,方法和类不用这种方法 

<%!
  public static final String INFO = "www.MLDNJAVA.cn" ;
  int x = 10 ;
%>
<%
  out.println("<h2>x = " + x++ + "</h2>") ; // 语句
%>
<%!
  public int add(int x,int y){
    return x + y ;
  }
%>
<%!
  class Person{
    private String name ;
    private int age ;
    public Person(String name,int age){
    this.name = name ;
    this.age = age ;
    }
    public String toString(){
      return "name = " + this.name + ";age = " + this.age ;
    }
  }
%> <%
  out.println("<h3>INFO = " + INFO + "</h3>") ;
  out.println("<h3>3 + 5 = " + add(3,5) + "</h3>") ;
  out.println("<h3>" + new Person("zhangsan",30) + "</h3>") ;
%>

3. <%=%>,其中可以输出一个变量或一个具体内容

<%
  String info = "www.MLDNJAVA.cn" ; // 局部变量
  int temp = 30 ;
%>
<h3>info = <%=info%></h3>
<h3>temp = <%=temp%></h3>
<h3>name = <%="LiXingHua"%></h3>

问题:out.println()和 <%=%>用后者比较好,看以下的例子:

<html>
  <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<%
  int rows = 10 ;
  int cols = 10 ;
%>
<table border="1" width="100%">
<%
  for (int x=0;x<rows;x++){
%>
<tr>
<%
  for(int y=0;y<cols;y++){
%>
<td bgcolor="#00CC33"> <%=x*y%></td>
<%
  }
%>
</tr>
<%
  }
%>
</table>
</body>
</html>

虽然代码复杂,但是HTML和JAVA分离,清晰。

通过交互性打印表格:

之前打印表格的行数和列数都是固定的,下面通过一个交互性的 操作,完成用户输入表格的行数和列数 的功能,并进行显示。

input_table.html:

<html>
<head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
<body>
<form action="print_table.jsp" method="post">
<table border="1" width="100%">
<tr>
<td>请输入要显示表格的行数:</td>
<td><input type="text" name="row"></td>
</tr>
<tr>
<td>请输入要显示表格的列数:</td>
<td><input type="text" name="col"></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="显示">
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
</body>
</html>

JSP注释及scriptlet <%局部%><%!全局%><%=输出%>的更多相关文章

  1. JSP JSP工作原理 JSP语法 JSP声明 JSP注释 JSP指令 jsp九大隐式/内置对象

    1 什么是JSP   1)为什么说,Servlet是一个动态Web开发技术呢?     Servlet是基于服务端的一种动态交互技术,     HttpServletRequest表示客户端到服务端的 ...

  2. jsp注释方式

    1,HTML的注释方法 <!--...add your comments here...--> 说明:使用该注释方法,其中的注释内容在客户端浏览中是看不见的.但是查看源代码时,客户是可以看 ...

  3. JSP注释格式

    一.JSP注释格式来源 JSP是Sun Microsystems公司制定的一种服务器端动态网页技术的组件规范,其主体由HTML.CSS.JavaScript和Java拼凑组成. 正是因为JSP是一种组 ...

  4. Struts 2 动作注释 配置动作扩展 全局开关

    动作注释package com.yiibai.user.action; import org.apache.struts2.convention.annotation.Action; import o ...

  5. out.write()和out.print()区别,jsp注释区别

    out.write()和out.print()结果一样,都是输出内容 前者输出html内容 后者输出变量 5 JSP注释 我们现在已经知道JSP是需要先编译成.java,再编译成.class的.其中& ...

  6. jsp 变量和方法的声明 Java程序片 HTML注释 JSP注释

    <%!...%> 声明变量和方法 <%!...%>之中的变量为JSP页面的成员变量,当多个线程访问本页面时,多个线程共享此变量. <%@ page contentType ...

  7. 有关JSP注释

    最近学习过滤器的时候,dispatcher可以指定过滤器被Servlet容器拦截的方式,可以是REQUEST.INCLUDE.FORWARD.ERROR,默认是REQUEST方式. 现在有两个filt ...

  8. eclipse调试jsp中的scriptlet代码

    在eclipse开发环境下,jsp中的scriptlet代码,也就是<%%>中的java代码,跟普通的java代码一样可以打断点单步调试的! 做个笔记,免得自己忘了!

  9. JSP基础:JSP指令、JSP注释、JSP脚本、JSP声明、JSP表达式

    JSP指令分为:page指令.include指令.taglib指令. page指令:通常位于JSP页面的顶端,同一个页面可以有多个页面指令. 语法:<%@ page language=" ...

随机推荐

  1. ACdream 1728 SJY's First Task

    简单题. 先建树,我用邻接表来存了.然后对于每个叶子结点DFS一下,DFS深度超过了K就return,找到了叶子节点就记录下来,最后排个序,然后输出答案. 由于结点编号比较奇葩,所以用两个map来转换 ...

  2. Ninja:Java全栈Web开发框架-Ninja中文网

    相信不少业界人士都还停留在SSh的时代 其实我想给大家推荐的一个轻量级框架那就是Ninja; Ninja是一个Java全栈Web开发框架,稳定.快速.非常高效. 商业价值 在你的下一个项目中,Ninj ...

  3. smarty基础与实例

    什么是smarty? Smarty是一个使用PHP写出来的模板引擎,是业界最著名的PHP模板引擎之一.Smarty分离了逻辑代码和外在的内容,提供一种易于管理和使用的方法,用来将原本与HTML代码混杂 ...

  4. 第四十七节,random 随机数模块

    random 随机数模块格式: import random 引入随机模块文件 random.randrange(65,91) 调用随机函数random.randrange(随机数开始范围,随机数结束范 ...

  5. 3、File类之创建、删除、重命名、判断方法

    一般我们调用内置类的方法,都是指调用其成员方法,故而以下几种方法都是File类的成员方法,常用的有以下3种, 分别是 //创建 public boolean createNewFile() publi ...

  6. 数据库DateTime类型为空的处理

    一,写一个辅助类,将该方法设为静态,先装换为object,在转为DateTime,返回DateTime public class DateTimeHelper { public static Date ...

  7. PAT 团体程序设计天梯赛-练习集 L1-008. 求整数段和

    给定两个整数A和B,输出从A到B的所有整数以及这些数的和. 输入格式: 输入在一行中给出2个整数A和B,其中-100<=A<=B<=100,其间以空格分隔. 输出格式: 首先顺序输出 ...

  8. 【转】动态字节码技术跟踪Java程序

    Whats is Java Agent?   .. java.lang.instrument.Instrumentation 之前有写 基于AOP的日志调试 讨论一种跟踪Java程序的方法, 但不是很 ...

  9. DOS 命令批量删除文件及相关批处理命令详解

    del X:\*.* /f /s /q /a 递归强制静默删除X盘及其所有子目录下的所有文件 /f 表示强制删除文件 /s表示子目录都要删除该文件 /q表示无声,不提示 /a根据属性选择要删除的文件 ...

  10. 怎样正确设置remote_addr和x_forwarded_for

    怎样正确设置remote_addr和x_forwarded_for 2013-04-20 做网站时经常会用到remote_addr和x_forwarded_for这两个头信息来获取客户端的IP,然而当 ...