剖析JSP与XML的交互编程技巧下

zl374442364

zl374442364

2016-02-19 15:13

只要你有一台电脑或者手机,都能关注图老师为大家精心推荐的剖析JSP与XML的交互编程技巧下,手机电脑控们准备好了吗?一起看过来吧!

  三、通过标记库JSP与XML交互

  这也就是在前文中重点提到的,但是因为它实在太重要了,所以在本文中我必须也要提到。标记库可以定义出现在JSP页面中的作为类XML元素的自定义标签,可以把特定的Java代码与每个标记都关联起来。 例如,假定你可以访问一个天气情况数据库,而且你需要输出现在的天气状况。 那么,你可以在JSP中插入JDBC程序代码直接查询数据库(虽然这并不是一个好的选择),把这些代码封装到一个JavaBean内,或者把它包装成一个标记库。 使用最后一个选择,你的JSP页面内的程序代码看上去就像:

%@taglib uri="the TLD file" prefix="foo" %

  Current weather is foo:Weather/

  注意在上述程序代码中看不到任何Java代码的踪迹。 作为一个页面设计人员,你使用一种熟悉的语法就像 foo:weather/,这些与其它的任何标记看起来非常相似。 在页面中包含现在的天气状况的HTML字符串的地方插入它。

  标记库有一个关联的XML格式的描述符文件,名叫Tag Library Descriptor(标记库描述符,TLD)。 在TLD文件中的每个标记都有一个条目,包括它的名称,版本和其它的任选信息。 在JSP页面内,你可以用" %@_taglib prefix = " foo " % "指令指定TLD文件。 属性" prefix "用来指定一个前缀,用来在JSP页面内使用特定的库来引用任何标记。 那为什么我们要使用标记 foo:Weather/而不仅仅是 Weather/。 TLD文件的精确位置依赖于正在使用的应用程序服务器。

  一个标记库标记可以代替为了完成这段程序逻辑的相应的Java程序代码。 每个标记都相当于一个相同名称的Java类。 这个类必须实现TagSupport接口,包含捕获事件触发器方法作为处理这个页面的JSP引擎。 当它第一次遇到这个标记的时候,引擎就会调用doStartTag ()方法。 可以使这个方法为空或者当需要的时候才执行应用程序逻辑。 当该方法返回SKIP_BODY时,那么引擎跳过这个标记体。 当它返回EVAL_BODY_INCLUDE时,引擎将会处理这个标记以及它的子标记。 类似地,JSP引擎在分析了结束标记之后就会调用doEndTag ()方法。 doAfterBody ()方法让你可以在引擎处理元素体之后执行动作,但是必须在doEndTag ()方法作用之前。 下面就是实现天气状况的Weather类的一个样本程序代码:

  import javax.servlet.jsp.tagext.*;
  import java.io.*;
  public class Weather extends TagSupport {
  public int doStartTag() {
  try {
  JspWriter out = pageContext.getOut();
  out.print(" sunny and cloudy mixed with " +
  "rain and sunshine. ");
  } catch (IOException e) {
  System.out.println("Error " + e);
  }
  return (SKIP_BODY);
  }
  }

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

  当引擎遇到" somePrefix:Weather/ "标记的时候,它会在标记库内搜索一个同名的类。 如果doStartTag ()方法被实现的话(在本例中是这样的),它就会被调用。 这就使字符串包含适应显示的天气情况。 因为方法返回了SKIP_BODY,JSP读取器移动到标记的末尾。

  最简单的使用JSP和标记库的方法就是使用Apache Tomcat引擎。 这个引擎也充当Servlet和JSP应用程序接口的引用实现。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/webkaifa/)

  当使用标记库时,JSP页面看上去就非常像XML文件了。 当JSP页面被处理时,引擎执行与标记相关联的程序代码(实际上,首先调用JSP引擎把JSP页面翻译成一个servlet,然后再编译servlet。 与标记库相关联的方法都被包含在servlet中。),一个熟悉XML的人就可以设计并使用各种各样的页面布局进行试验,而不必改变任何Java程序代码。当然,代码与数据的分离的程度还是主要依赖标记库元素设计的好坏程度。

  JavaServer Pages ( JSP)和XML是Sun的J2EE的两个至关紧要的组件。 JSP是用于创建应用程序服务器端程序的有效工具,而客户可以是一个浏览器,一个设备或其它的应用程序

展开更多 50%)
分享

猜你喜欢

剖析JSP与XML的交互编程技巧下

Web开发
剖析JSP与XML的交互编程技巧下

剖析JSP与XML的交互编程技巧

Web开发
剖析JSP与XML的交互编程技巧

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

剖析JSP与XML的交互编程技巧上

Web开发
剖析JSP与XML的交互编程技巧上

XML和JSP交互技术(1)

Web开发
XML和JSP交互技术(1)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

XML和JSP交互技术(3)

Web开发
XML和JSP交互技术(3)

XML和JSP交互技术(2)

Web开发
XML和JSP交互技术(2)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

J2ME游戏开发实例讲解02

J2ME游戏开发实例讲解02

Delphi深度之旅——网络游戏外挂制作

Delphi深度之旅——网络游戏外挂制作
下拉加载更多内容 ↓