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

2019-05-27 21:33:36王冬梅


  private String meal = null;

  public void setMeal(String s) {

  meal = s;

  }

  public String getMeal() {

  return meal;

  }

  Tag Library Descriptor

  如果你所有的时间都在处理Java技术而不知道关于 XML方面的东西,那么标签库描述符组件可能看起来会比较陌生。但是你也不需要担心,因为你不需要学习一门新的编程语言。标签库描述符仅仅使用与HTML相似的标签语法来定义定制标签的名字和属性,这更象定义一个对象。

  下面的标签库描述符定义了insertCatchOfDay标签。注意,这个文件定义了定制标签的名称,属性和相关的Tag Handler类:

  

  

  

  insertCatchOfDay

  com.sun.CatchOfDayHandler

  

  Queries menu database for the catch of the day。

  


  

  meal

  

  


  


  与定义属性的名称一样,标签库描述符也能够定义数据类型并指定其属性(无论是否需要);在Tag Handler被执行之前,它允许JSP引擎去做某些错误检查。还有其他的信息,比如说为了使用JSP创建工具,库名和版本号也可以包含在标签库中。

更多的例子
  在下面的例子中,第一个例子在JSP页面中使用了HTTP请求对象 (HttpServletRequest) 来判断用户浏览器的版本并从三个HTML页面中的一个中返回相应的内容:

  

  <%@ page language=="java" info="Example JSP #1" %>

  

  

  <%! String agent; %>

  <%

  agent = request.getHeader("User-Agent");

  if ( agent.startsWith("Mozilla/4.0") {

  %>

  <%-- Return content for 4.0 browsers --%>

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

  <%

  }

  else if ( agent.startsWith("Mozilla/3.0") {

  %>

  <%-- Return content for 3.0 browsers --%>

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

  <%

  }

  else {

  %>

  <%-- Return content for other/unknown browsers --%>

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

  <%

  }

  %>

  

  

  注意:此页面无须声明或初始化HTTP请求对象就可以直接对它进行访问。请求和响应(HttpServletResponse)对象都能够隐含地在JSP 页面中使用。和servlet一样,JSP页面能够使用请求对象从HTML窗体中获得参数值。

  

  <%@ page language="java" info="Example JSP #2" %>

  

  

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