当前位置:编程学习 > JS >>

JSP简明教程:令人兴奋的脚本编程

如果你是直接使用Java servlets,那你将不得不在Java类中处理HTTP输入和HTML输出,你需要丰富的Java编程经验来构建复杂的应用程序。jsp(SUN企业级应用的首选)的加入,使你可以把HTML的表达逻辑从植入servlets中的复杂的商务逻辑区分开来。这意味着可以由有经验的脚本编写者来编写表达层代码,而高级的Java开发者能够集中精力去解决servlets和bean中更为复杂的问题。

  不管你有没有Java编程知识,都能够使用jsp(SUN企业级应用的首选)。jsp(SUN企业级应用的首选)包含了一些服务器端的标签,使得不用写一行Java代码就能显示动态数据。你可以直接访问bean来完成操作,然后使用jsp(SUN企业级应用的首选)标签把结果显示为动态内容。你还可以用servlets生成bean,servlets 操作的运算结果存于其中,然后再使用jsp(SUN企业级应用的首选)标签显示结果,同样不需要在jsp(SUN企业级应用的首选)页中写Java代码。

  有三种方式可以用来在你的网页中加入Java代码:

  1、使用declarations(声明),可以定义全局变量或是在页内任何地方都可以访问的Java方法。声明被包含在标记<%!...%>中。

  2、使用scriptlets(脚本片断),你能书写页内处理所需的任何逻辑,它们包含在<%...%>标记内。

  3、Expressions(表达式),包含于<%=...%>中。它提供一种简单的方法来显示Java表达式的结果。被附加上的表达式将被计算并在页面上显示出来,就好像你已经在代码中明确写出了运算结果的数值一样。

  在你自己编写的代码中,可以使用一些隐含变量(implicit variables)――jsp(SUN企业级应用的首选)提供的预定义的Java对象。另外,通过使用jsp(SUN企业级应用的首选)的指令(directives), 还可以包含非Java代码模块,比如来自其他文件的HTML文本。

  下面我们来仔细看一看这些脚本元素,在编写你自己的jsp(SUN企业级应用的首选)脚本时将会经常用到它们。

Directives(指令)
  jsp(SUN企业级应用的首选)定义了三个页内指令用于设置jsp(SUN企业级应用的首选)参数或扩充代码。它们是 page,include和taglib,必须写在jsp(SUN企业级应用的首选)页的第一行。语法如下:

  <%@ directive attribute="value" ... %>

  page指令允许你为网页设定一些基本参数,包括设置所用脚本语言的参数(默认为Java)、你的脚本片断中引入的Java类、设置输出缓冲区等等。完整的page指令参数表见《jsp(SUN企业级应用的首选) Specification Version 1.0》(《jsp(SUN企业级应用的首选)规范1.0》)的2.8.1章。

  使用include指令,可以包含其他文件的内容,比如存于单独文件中的HTML报头和页脚。

  taglib指令用于扩充标准的jsp(SUN企业级应用的首选)标签集,这超出了本文的讨论范围。然而,了解jsp(SUN企业级应用的首选)定义了一种扩充其标签集的方法还是很有好处的,当你是一个软件商,想扩充jsp(SUN企业级应用的首选)的原始功能而又不想破坏其兼容性时,这一点尤为重要。

Declarations(声明)
  使用declarations,你可以在jsp(SUN企业级应用的首选)页中定义方法或变量,它们可被同一页中的其他代码访问。在大多数情况下,你可能会在自己的bean中定义方法。然而,有时候在网页内定义方法可能更方便一些,尤其是当代码只用于单一页面时。不论定义方法还是变量,声明都包含在<%! %>标记内。

  注意,声明并不在jsp(SUN企业级应用的首选)页内产生任何输出。它们仅仅用于定义,而不生成输出结果。要生成输出结果,你应该用jsp(SUN企业级应用的首选)表达式或脚本片断。

Expressions(表达式)
  Expressions是一种非常简单的jsp(SUN企业级应用的首选)标签,它用来把在<%= %>中定义的jsp(SUN企业级应用的首选)表达式的值转换成字串并将这个值以动态文本的形式送出。Expression的确是一条生成文本的捷径,有了它,你不必在每次要显示一段动态文本的时候都去调用print()方法。典型的应用就是,你可以用expressions显示简单的变量值或bean中的方法的返回值。

  例如,下面的代码将会生成getName()方法的返回值:

  <H2>Welcome, <%= mybean.getName() %></H2>

  事实上,在生成动态输出之前,jsp(SUN企业级应用的首选)必须把方法的返回值转变为Java中的String对象。jsp(SUN企业级应用的首选)规范中详细描述了在jsp(SUN企业级应用的首选)表达式中,什么样的Java类型和Java类会被转变成字串。

Scriptlets(脚本片断)
  到现在为止你已经学会了使用指令来引入任何Java类或Java包,你能定义页面级的方法或变量并在页中使用它们,你还可以使用提供普通web处理功能的隐含变量。还能在jsp(SUN企业级应用的首选)页内做些什么就取决于你了,因为你可以在scriptlets(脚本片断)里编写任何你想要的Java代码,如下所示:
补充:Web开发 , Jsp ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,