一个开发人员眼中的JSP技术(上)

2019-05-27 22:20:24于海丽


  如果在网页中需要获得和设置这个Bean的属性,另一个JSP action将被给出,使用的是下面的语法:

  

  

  当网页被编译成一个servlet的时候,Directive将被JSP引擎处理。Directive被用来设置页面级的指令、从外部文件插入数据以及制定定制的标签库。Directive被定义在<%@ 和 %>之间。 在上面的例子中,Directive定义了页面所使用的语言(Java),为了关联Java类需要植入代码并指定一个将要插入页面底部的HTML文件内容:

  <%@ page language=="java" imports=="java.util.*" %>

  <%@ include file=="copyright.html" %>

  声明与Java中的变量声明相似,它也是为了后面表达式或scriptlet的需要来定义变量。声明被定义在<%! 和 %>之间。在上面的例子中,“int”声明并给出了一个当前时间的相应值 (AM 或 PM):

  <%! int time = Calendar.getInstance().get(Calendar.AM_PM); %>

  表达式可以是变量或常量,它插在由web服务器所返回的数据里,并用<%= 和 %>来定义。在上面的例子中,表达式将调用JavaBean组件并在页面中插入结果数据:

  <%= clock.getDayOfMonth() %>

  <%= clock.getYear() %>

  Scriptlet将作为一个Java代码块植入JSP页面中。Scriptlet代码被一一插入由页面所产生的servlet中,它被定义在<% 和%>之间。上面例子中的scriptlet可以根据当前用户产生相应的时间和问候语:

  <%

  if (time == Calendar.AM) {

  %>

  早上好

  <%

  }

  else {

  %>

  下午好

  <%

  }

  %>

  注释部分和HTML的注释相似,当在执行的时候JSP引擎将去掉对注释的解释。这就意味着JSP注释并不返回到用户的浏览器中。不象HTML注释被定义在标签之间,JSP注释被定义在<%--和 --%>之间。例如:

  <%-- Check for AM or PM --%>