大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> JSP专区 -> 一个开发人员眼中的JSP技术(下)

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

时间: 2021-07-31 作者:daque

运用定制化的标签   纵然你不妨在jsp页面中植入java代码并在效劳器方实行,然而,jsp也扶助运用定制标签来插入动静实质,它有一种体制不妨让你在jsp页面中插入你本人的、与html一致的标签。换句话说,你的jsp网页不妨运用插入java代码的大略标签语法产灵巧态的实质。但定制标签的用途不是很大。   创造一个定制标签比在jsp网页中运用大略的scriptlet要搀杂得多,由于定制标签须要用几个办法来把你的java组件和jsp代码贯穿起来。然而,定制标签在散发和反复运用的功夫就特殊大略了。对定制标签的扶助将在jsp创造东西中实行。   在底下的例子中产灵巧态实质的jsp网页就运用了定制标签。提防,在这个例子中咱们不复须要引入java类、证明变量或写任何java代码:      <%@ taglib uri="/tlds/menudb.tld" prefix="menu" %>   today's menu

  lunch

  <%@ include file="lunch_menu.html" %>   our special of the day

       从上头的语句中咱们不妨看出,这个页面鲜明比前方的scriptlet例子要大略很多,由于它没有包括初始化东西和实行相映的本领。然而jsp网页代码只是不过一局部;对于每一个定制标签,还囊括底下的三个组件:   (1)包括定制标签的网页,比方说,上头的代码片断中就运用了insertcatchofday 的定制标签。在运用定制标签之前,页面必需指定taglib directive来供给标签库刻画符(对标签设置)的场所。当实行定制标签的功夫,网页再有代办性的设置了一个和多个标签属性(比方在这个例子中的“meal”)来决定动静实质。   (2)标签库刻画符。它是一个设置了定制化标签并把它和tag handler贯穿起来的xml文献。一个标签库刻画符包括了标签的各别属性,关系tag handler的称呼(场所)以及jsp引擎须要处置定制标签的其余消息。   (2)tag handler。 它是一个与定制标签共同实行操纵的java类。比方,在上头的insertcatchofday标签中,tag handler即是实行数据库查问获得相映菜单项的java类。   咱们仍旧看到了一个运用定制标签的jsp网页,底下让咱们来看一看其余的两个组件。   tag handler   tag handler是一个与servlet比拟一致的java类。然而servlet不妨实行servlet接口,还不妨被html get或post乞求所实行。tag handler也不妨实行一个标签接口(javax.servlet.jsp.tag)以及在定制标签被jsp引擎处置的功夫实行。   即使定制标签包括了属性,那么tag handler就必需设置那些属性以及每一个的get/set本领。比方,当设置上头insertcatchofday定制标签的tag handler的功夫,咱们必需设置“meal”属性和与它关系的get和set 本领:   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类:    xml version="1.0" ?>       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" %>     <%! string selections[], info; %>   here are your current selections:

  <%      selections = request.getparametervalues("items");   if (selections != null) {   %>

  <%   for(int x = 0; x   %>

  <%= selections[x] %> : <%= db.getinfo(selections[x]) %>  <%   }   %>

<%   }   else {   %>  (no items selected)

  <%   }   %>     <%@ include file="footer.html" %>         在这个例子中,当每一个参数值都被读取此后,javabean组件便查问所须要的消息。在jsp网页中运用bean这种本领不妨简单地从数据库中归来动静web实质。 论断   即使你正在探求一种能简单创造贯穿效劳器方java组件的web步调的本领,那么javaserver page恰是你所须要的。除去ejb,rmi,jdbc和javabean外,辨别html表述代码和web步调,也使得jsp网页构造起来运转变得更简单了。究竟上,因为web安排职员简直不必java开拓职员的扶助就不妨创造jsp页面,以是你再也各别担忧创造web网页和写html代码了。   <全文完>

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.