CN1818903A - 扩展Java Server Faces的方法和系统 - Google Patents

扩展Java Server Faces的方法和系统 Download PDF

Info

Publication number
CN1818903A
CN1818903A CNA2006100073328A CN200610007332A CN1818903A CN 1818903 A CN1818903 A CN 1818903A CN A2006100073328 A CNA2006100073328 A CN A2006100073328A CN 200610007332 A CN200610007332 A CN 200610007332A CN 1818903 A CN1818903 A CN 1818903A
Authority
CN
China
Prior art keywords
jsf
modeling language
equipment
independent
webpage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2006100073328A
Other languages
English (en)
Inventor
P·库尔萨德
B·G·法恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1818903A publication Critical patent/CN1818903A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/84Mapping; Conversion
    • G06F16/88Mark-up to mark-up conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • G06F16/94Hypermedia

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种用于扩展Java Server Faces网页以支持多个设备的方法、系统、和计算机程序产品。该方法包括:提供独立于设备和建模语言的Java Server Faces(JSF)网页,其中该JSF网页不包含任何特定于建模语言的元素。

Description

扩展Java Server Faces的方法和系统
技术领域
本发明一般涉及网页。更具体地,本发明提供了用于扩展Java ServerFaces网页以支持多个设备的方法、系统和计算机程序产品。
背景技术
网页内容是使用建模语言规定的。网页内容被流式传输到客户机设备,例如web浏览器或个人桌面助理(PDA)。web浏览器所理解的建模语言是超文本标记语言(HTML)。其他设备类型可理解不同于HTML的语言。网页可包含用户界面组件,例如输入字段、组合框、和文本区。对于web浏览器页,使用HTML元素来代表这些类型的用户界面组件。
Java Server Faces(JSF)是可部署到web应用服务器并允许程序员操纵web应用的网页内容的小服务程序技术。网页的若干HTML元素被JSF标记取代,其中每个JSF标记代表一JSF用户界面(UI)运行时组件(在下文中被称为“JSF组件”)。在这方面,通过使用JSF,web浏览器页包括HTML元素例如页面流中断标记、span标记、和comment(注释)标记以及JSF标记例如输入文本标记的混合。下面提供关于JSF的背景信息。关于JSF的更详细的信息可例如在http://java.sun.com/j2ee/1.4/docs/tutorial/doc/处找到。
JSF框架包括多个JSF组件,其中每个JSF组件在网页上由一JSF标记代表。每个JSF组件负责呈现网页的内容的一部分。例如,JSF“dataTable”标记及其相应的JSF UIData组件将TABLE、TR(表行)、TD(表数据)和TH(表头)元素文本呈现在HTML网页上。作为另一种选择,每个JSF组件可将其呈现委托给可与其他JSF组件共享的一单独的呈现器。
呈现套件(render kit)包含一个或多个呈现器,其中每个呈现套件具有呈现特定目标设备所需的建模语言的能力。JSF参考实现(referenceimplementation)包括一用于HTML的呈现套件。可添加用于由诸如富客户机(rich client)或移动设备的客户机类型所使用的其他建模语音的呈现套件。
JSF标记库包括一个或多个呈现套件、一JSF标记集和一JSF组件集。目前在最新的Java Server Faces规范中定义了两个标记库,包括用于核心Java Server Faces的JSF标记库,和用于HTML的JSF标记库。
理论上讲,JSF具有使用一些特定于建模语言的呈现套件针对多个设备的潜力,其中每个呈现套件允许每个JSF组件或者委托的呈现器呈现用于特定目标设备的建模语言。如果确实实现了JSF的全部潜力,则JSF的使用将提供以下优点:
(A)单个一组JSF网页可使用多于一个建模语言来呈现,并因此可同时支持多个设备类型;
(B)网页设计者可设计独立于建模语言和独立于设备的网页;以及
(C)网页设计编辑器,其也被称为可视编辑器或可视构建器,可帮助设计独立于设备的web表单,从而消除了拥有多个特定于设备的设计编辑器的需要。
不幸的是,目前的JSF标记集不足以实现这种潜力。没有足够的底层建模语言及其相关的功能由JSF标记代表以便使JSF网页独立于设备和建模语言。因此,需要一种用于提供仅包括独立于建模语言的JSF标记的JSF网页的方法、系统、和程序产品。这将允许从独立于设备的JSF网页内容呈现依赖于设备的建模语言文本。
发明内容
一般而言,本发明提供了用于扩展Java Server Faces(JSF)网页以支持多个设备的方法、系统、和计算机程序产品。本发明提供了包括独立于设备和建模语言的JSF标记的JSF网页,其中该JSF网页不包含任何特定于建模语言(例如,HTML)的元素。还提供了一组用于使JSF网页独立于设备和建模语言的JSF运行时组件。这些组件包括:
(A)代表文档的顶级元素例如在超文本标记语言(HTML)网页中的<HTML>元素的JSF组件;
(B)代表网页的一区域的JSF组件;
(C)描述在JSF网页的区域中如何安排窗口部件(widget)的JSF组件;
(D)代表对外部函数或呈现的脚本的引用的JSF组件;以及
(E)代表对外部信息例如样式单的引用的JSF组件。
有利地,本发明的实现,并结合以多于一个依赖于设备的呈现器的实现,使得web应用能够从单个一组独立于设备和建模语言的JSF网页来针对多个设备。
本发明的第一个方面涉及一种用于提供独立于设备和建模语言的JSF网页的方法,其中该JSF网页不包含任何特定于建模语言的元素。
本发明的第二个方面涉及一种包括用于提供独立于设备和建模语言的JSF网页的装置的系统,其中该JSF网页不包含任何特定于建模语言的元素。
本发明的第三个方面涉及一种存储在可记录介质中的程序产品,该程序产品当被执行时包括:用于提供独立于设备和建模语言的JSF网页的程序代码,其中该JSF网页不包含任何特定于建模语言的元素。
本发明的第四个方面涉及一种用于部署应用的方法,其包括:提供计算机基础设施,该基础设施可运行以提供独立于设备和建模语言的JSF网页,其中该JSF网页不包含任何特定于建模语言的元素。
本发明的第五个方面涉及一种体现在传播的信号中的计算机软件,该软件包括用于致使计算机系统执行以下功能的指令:提供独立于设备和建模语言的JSF网页,其中该JSF网页不包含任何特定于建模语言的元素。
附图说明
根据以下对本发明的各方面的详细描述并结合附图,可更容易地理解本发明的这些和其他特征,在这些附图中:
图1示出了一种根据本发明的一实施例的用于扩展Java Server Faces(JSF)网页以支持多个设备的系统。
图2更详细地示出了图1的系统。
这些附图仅是示意性的表示,而非旨在描绘本发明的特定参数。这些附图旨在仅示出本发明的典型实施例,并因此不应被理解为限制了本发明的范围。在这些附图中,相同的标号表示相同的部件。
具体实施方式
如上所述,本发明提供了用于扩展Java Server Faces(JSF)网页以支持多个设备的方法、系统和计算机程序产品。本发明提供了包括独立于设备和建模语言的JSF标记的JSF网页,其中该JSF网页不包含任何特定于建模语言(例如,HTML)的元素。还提供了一组用于使得JSF网页独立于设备和建模语言的JSF组件。
图1示出了一种根据本发明的一实施例的用于扩展JSF网页以支持多个设备的系统10。如图所示,运行在客户机设备14上的浏览器12发送对于JSF网页18的请求16(例如,超文本传输协议(HTTP)请求)到服务器20。服务器20上的JSF网页18包括多个当前可用的JSF标记22和根据本发明提供的多个新的JSF多设备(md)标记24。每个当前可用的JSF标记22代表一相应的当前可用的JSF组件26。类似地,每个新的JSF-md标记24代表根据本发明提供的一相应的新的JSF-md组件28。
提供了呈现套件30,以通过使用由JSF标记22所引用的JSF组件26和由JSF-md标记24所引用的JSF-md组件28,以运行在客户机设备14上的浏览器14所要求的建模语言文本来呈现JSF网页18。可提供多个呈现套件30以支持不同的建模语言。然后由服务器20将所呈现的网页在一响应32(例如,HTTP响应)中发送给浏览器12。
根据本发明,JSF网页18包括JSF标记22和JSF-md标记24,但不包含任何特定于建模语言(例如,HTML)的元素。这使得web应用能够从单个一组独立于设备的JSF网页针对多个设备。补充了现有的核心JSF标记22集的JSF-md标记24代表以下JSF-md组件28:
(A)代表文档的顶级元素(即建模语言)的JSF-md组件28;
(B)代表JSF网页18的一区域(例如,其他JSF组件26和/或JSF-md组件28的矩形容器)的JSF-md组件28;
(C)描述在JSF网页18的区域中如何安排窗口部件/对象(即,布局和布局数据信息)的JSF-md组件28;
(D)代表对外部函数或呈现的脚本的引用的JSF-md组件28;以及
(E)代表对外部信息例如存储在该JSF网页18的外部的样式单的引用的JSF-md组件28。
以下给出每种类型的JSF-md组件28的示例。应注意,以下示例仅说明了本发明的概念,而非旨在以任何方式进行限制。
网页结构
如所有JSF网页18一样,JSF标记库的声明在页的项部:
<%@taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
对于以下示例,JSF核心标记库使用前缀“f:”来表示,而HTML标记库使用前缀“h:”来表示。将假设由本发明提供的新的JSF-md标记24在称为“md.tld”的用于JSF-md标记24的新的JSF-md标记库中,其中该JSF-md标记库由前缀“a:”来表示。
<%@taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@taglib uri="md.tld"                      prefix="a"%>
JSF核心视图标记22在JSF标记库声明之后,并封装了JSF网页18上的所有其他JSF和JSF-md标记22、24。
<%@taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@taglib uri="md.tld"                      prefix="a"%>
<f:view>
</f:view>
建模语言标记
一新的JSF-md建模语言(ml)标记24和相应的JSF-md ml组件28允许JSF呈现器呈现用于目标建模语言的顶层可扩展标记语言(XML)元素。例如,对于可扩展超文本标记语言(XHTML)文档,JSF-md ml组件28将呈现<xhtml>和</xhtml>。该JSF-md ml标记24必须是JSF核心视图标记22的唯一的子。
<%@taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@taglib uri="md.tld"                      prefix="a"%>
<f:view>
    <a:ml>
    </a:ml>
</f:view>
面板
面板(panel)是JSF-md容器组件28,该组件代表一具有宽和高的包含子JSF组件26的两维区域。以下示例示出了具有子JSF selectonelistbox和outputtext标记22的JSF-md面板标记24。
<%@taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@taglib uri="md.tld"                      prefix="a"%>
<f:view>
    <a:ml>
      <a:panel>
        <h:selectonelistbox id="list1">
          …
        </h:selectonelistbox>
        <h:outputtext id="label1">
          …
        </h:outputtext>
      </a:panel>
    </a:ml>
</f:view>
事件和动作
有两个类别的事件:在服务器20上处理的事件;和在客记机设备14上本地处理的事件。服务器端事件处理使用已建立的JSF事件处理机制。当客户机端事件发生时,执行客户机端动作。对客户机端动作的描述是特定于每种建模语言的,并因此是由持定于建模语言的呈现器呈现的。一些呈现器可呈现使用脚本语言例如JavaScript的脚本逻辑,而其他呈现器可呈现XML形式的指令。一新的JSF-md调用(call)标记24和相应的JSF-md调用组件28封装了对函数的调用的概念。JSF-md调用组件28的责任是呈现特定于建模语言的指令例如脚本,或作为命令执行特定于设备的功能。
客户端动作的一示例是“属性到属性的链接”,其中一个JSF组件的属性的值的变化导致一不同的JSF组件的属性的值的变化。在以下JSF代码实例中,当JSF“inputtext”组件26改变时,调用名称为“attributelink”的函数。该函数调用所需要的参数是以子JSF核心param标记22指定的。
<%@taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@taglib uri="md.tld"                      prefix="a"%>
<f:view>
  <a:ml>
    <a:panel>
    <h:selectonelistbox id="list1"onchange="function1">
      <a:call id="function1"name="attributelink">
        <f:param name="sourcename"     value="list1"/>
        <f:param name="sourceattribute"value="value"/>
        <f:param name="targetname"     value="label1"/>
        <f:param name="targetattribute"value="value"/>
      </a:call>
    </h:selectonelistbox>
    <h:outputtext id="label1">
       …
    </h:outputtext>
    </a:panel>
  </a:ml>
</f:view>
布局
容器例如面板使用布局信息来描述容器将如何布置其子。布局类型的示例是:
(A)网格布局,其中子JSF组件26是以网格方式安排的,并具有诸如列数、和列之间的间隔量等特性;以及
(B)象素布局,其中使用以象素数度量的坐标和大小来安置子JSF组件26和设定其大小。
以下示例示出了一新的JSF-md布局(layout)标记24,该标记是任何JSF容器标记例如JSF-md面板标记的子。
<%@taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
    <%@taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
    <%@taglib uri="md.tld"                      prefix="a"%>
    <f:view>
      <a:ml>
        <a:panel>
          <a:layout type="grid">
            <f:param name="columns"value="2"/>
            <f:param name="marginX"value="4"/>
            <f:param name="marginY"value="4"/>
            <f:param name="spacingX"value="2"/>
            <f:param name="spacingY"value="2"/>
        </a:layout>
        <h:selectonelistbox id="list1"onchange="function1">
          <a:call id="function1"name="attributelink">
            <f:param name="sourcename"     value="list1"/>
            <f:param name="sourceattribute"value="value"/>
            <f:param name="targetname"     value="label1"/>
            <f:param name="targetattribute"value="value"/>
        </a:call>
      </h:selectonelistbox>
      <h:outputtext id="label1">
        …
      </h:outputtext>
    </a:panel>
 </a:ml>
</f:view>
作为另一种选择,可使用用于每种布局类型的特定的JSF-md布局标记24。例如,可使用如下的JSF-md gridlayout标记24:
<%@taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@taglib uri="md.tld"                      prefix="a"%>
<f:view>
  <a:ml>
    <a:panel>
      <a:gridlayout columns="2"marginX="4"marginY="2"
        spacingX="2"spacingY="2"/>
    <h:selectonelistbox id="list1"onchange="function1">
      <a:call id="function1"name="attributelink">
      <f:param name="sourcename"value="list1"/>
      <f:param name="sourceattribute"value="value"/>
      <f:param name="targetname"value="label1"/>
      <f:param name="targetattribute"value="value"/>
    </a:call>
  </h:selectonelistbox>
  <h:outputtextid="label1">
    …
  </h:outputtext>
</a:panel></a:ml></f:view>
布局数据
容器中的组件使用布局数据来描述该组件将如何在其父容器中被安排,例如在网格单元中水平对齐。如布局一样,有若干布局数据类型,例如:
(A)网格布局数据,其指定例如将如何在网格单元中水平和垂直对齐组件,以及将占据的水平和垂直网格单元的号码;以及
(B)象素布局数据,其指定以象素度量的水平和垂直位置坐标,以及以象素度量的大小。
以下示例示出了一新的JSF-md layoutdata标记24,其具有一“type”属性来指定布局数据的类型。其父JSF组件26(在此示例中为selectonelistbox)的布局数据类型需要与其父的JSF容器组件(在此示例中为面板)一致。
<%@taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@taglib uri="md.tld"                      prefix="a"%>
<f:view>
  <a:ml>
   <a:panel>
    <a:layout type="grid">
      <f:param name="columns"value="2"/>
      <f:param name="marginX"value="4"/>
      <f:param name="marginY"value="4"/>
      <f:param name="spacingX"value="2"/>
      <f:param name="spacingY"value="2"/>
    </a:layout>
    <h:selectonelistbox id="list1"onchange="function1">
      <a:layoutdata type="grid">
        <f:param name="alignmentX",value="fill"/>
        <f:param name="alignmentY",value="top"/>
        <f:param name="cellsX",    value="2"/>
        <f:param name="cellsY",    value="1"/>
        <f:param name="excessX",   value="true"/>
        <f:param name="excessY",   value="false"/>
      </a:layoutdata>
      <a:call id="function1"name="attributelink">
        <f:param name="sourcename"       value="list1"/>
        <f:param name="sourceattribute"  value="value"/>
        <f:param name="targetname"       value="label1"/>
        <f:param name="targetattribute"  value="value"/>
      </a:call>
    </h:selectonelistbox>
    <h:outputtext id="label1">
     …
    </h:outputtext>
    </a:panel>
  </a:ml>
</f:view>
作为另一种选择,可使用用于每个布局数据类型的特定的JSF-md标记24。例如,可使用如下JSF-md gridlayoutdata标记24:
<%@taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@taglib uri="md.tld"                      prefix="a"%>
<f:view>
  <a:ml>
    <a:panel>
      <a:gridlayout columns="2"marginX="4"marginY="2"
          spacingX="2"spacingY="2"/>
    <h:selectonelistbox id="list1"onchange="function1">
      <a:gridlayoutdata alignmentX="fill"
                          alignmentY="top"
                          cellsX="2"
                            cellsY="1"
                            excessX="true"
                            excessY="false"/>
        <a:call id="function1"name="attributelink">
          <f:param name="sourcename"      value="list1"/>
          <f:param name="sourceattribute" value="value"/>
          <f:param name="targetname"      value="label1"/>
          <f:param name="targetattribute" value="value"/>
        </a:call>
      </h:selectonelistbox>
      <h:outputtext id="label1">
        …
      </h:outputtext>
    </a:panel>
  </a:ml>
</f:view>
链接到外部信息
可将JSF网页18链接到其他信息,例如样式单,或链接到另一个网页。一新的JSF-md链接(link)标记24和相应的JSF-md链接组件28包含了HTML“link”(链接)元素的所有特征。表1列出了HTML链接元素属性名称和它们的相应的JSF-md链接标记24属性名称。
表1
  HTML链接元素属性   JSF-md链接标记属性
  charset   characterset
  href   reference
  hreflang   referencelanguage
  media   media
  rel   relation
  rev   reverserelation
  type   contenttype
每个JSF-md链接标记24属性具有与其HTML属性等价的功能。
在以下示例中,使用JSF-md链接标记24来引用名称为sheet1.css的外部样式单。selectonelistbox JSF标记使用在该样式单中定义的一样式类。
<%@taglib uri="http://java.sun.com/jsf/core"prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html"prefix="h"%>
<%@taglib uri="md.tld"                      prefix="a"%>
<f:view>
  <a:ml>
    <a:link relation="stylesheet"reference="sheet1.css"
      contenttype="text/css media="all"/>
    <a:panel>
      <a:gridlayout columns="2"marginX="4"marginY="2"
        spacingX="2"spacingY="2"/>
      <h:selectonelistbox id="list1"onchange="function1"
          styleclass="listboxstyle">
      <a:gridlayoutdata alignmentX="fill"
                          alignmentY="top"
                          cellsX="2"
                          cellsY="1"
                          excessX="true"
                          excessY="false"/>
      <a:call id="function1"name="attributelink">
        <f:param name="sourcename"          value="list1"/>
          <f:param name="sourceattribute"    value="value"/>
          <f:param name="targetname"         value="label1"/>
          <f:param name="targetattribute"    value="value"/>
        </a:call>
      </h:selectonelistbox>
      <h:outputtext id="label1">
        …
      </h:outputtext>
    </a:panel>
  </a:ml>
</f:view>
在图2中更详细地示出了根据本发明的实施例的用于扩展JSF网页以支持多个设备的系统10。如图所示,服务器20一般包括处理器100、存储器102、总线104、输入/输出(I/O)接口106和外部设备/资源108。处理器100可包括单个处理单元,或可分布在一个或多个位置的一个或多个处理单元中(例如,通过网络110)。存储器102可包括任何已知类型的数据存储和/或传输介质,包括磁介质、光介质、随机存储存储器(RAM)、只读存储器(ROM)等。此外,与处理器100类似,存储器102可位于单个物理位置,包括一个或多个类型的数据存储器,或以多种形式分布在多个物理系统中。
I/O接口106可包括任何用于向/自外部源交换信息的系统。外部设备/资源108可包括任何已知类型的外部设备,包括扬声器、CRT、LED屏幕、手持式设备、键盘、鼠标、语音识别系统、语音输出系统、打印机、监视器/显示器(例如,显示器112)、传真、寻呼机等。
总线104提供了服务器20中的每个组件之间的通信链路,并同样可包括任何已知类型的传输链路,包括电的、光的、无线的等。此外,尽管未示出,可将其他组件例如高速缓冲存储器、通信系统、系统软件等并入服务器20中。
用于实现本发明的JSF标记22、JSF组件26、JSF-md标记24、JSF-md组件28、JSF网页18、和其他数据可被本地存储在服务器20的例如存储单元114中,和/或可通过网络(例如网络110)被提供给服务器20。存储单元114可以是任何能够为本发明中的数据和信息提供存储的系统。如此,存储单元114可位于单个物理位置,包括一个或多个类型的数据存储器,或者可以多种形式分布在多个物理系统中。在另一个实施例中,存储单元114可分布在例如局域网(LAN)、广域网(WAN)或存储区域网(SAN)(未示出)中。
网络110旨在表示可在其上传输数据的任何类型的网络。例如,网络110可包括因特网、广域网(WAN)、局域网(LAN)、虚拟专用网(VPN)、WiFi网络、或其他类型的网络。在这方面,通信可通过直接硬连线连接或在可利用有线和/或无线传输方法的任何组合的客户机-服务器(或服务器-服务器)环境中通过可寻址连接来发生。在后者的情况下,服务器和客户机可利用传统的网络连通性,例如令牌环、以太网、WiFi或其他传统的通信标准。在客户机通过因特网与服务器通信的情况下,可通过传统的基于TCP/IP套接字的协议来提供连通性。在此情况下,客户机可利用因特网服务提供者来建立到服务器的连通性。
客户机设备14通过网络110连接到服务器20。尽管未示出,客户机设备14包括以上针对服务器20描述的很多相同的组件。在客户机设备14上提供用于查看网页的浏览器12。
在存储器102中示出了一种用于接收来自客户机设备14的对于JSF网页18的请求的请求系统118,和包含一个或多个呈现器120的呈现套件30,所述呈现器用于使用由JSF网页18中的JSF标记22所引用的JSF组件26和由JSF网页18中的JSF-md标记24所引用的JSF-md组件28以客户机设备14所需要的建模语言文本来呈现所请求的JSF网页18。在存储器108中还示出了一种用于将所呈现的JSF网页18发送给客户机设备14以便在浏览器12中显示的响应系统122。
应理解可将本发明的教导提供为基于订购或收费的商业方法。例如,系统10可由为用户提供这里描述的功能的服务提供者创建、维护、支持、和/或部署。就是说,可使用服务提供者来扩展JSF网页以如上所述支持多个设备。
还应理解本发明可在硬件、软件、传播的信号、或其任何组合中实现。任何类型的计算机/服务器系统或其他适应于执行这里描述的方法的装置都是合适的。硬件和软件的典型组合可以是具有计算机程序的通用计算机系统,该计算机程序当被装载和执行时,执行这里描述的各方法。作为另一种选择,可利用包含用于执行本发明的一个或多个功能任务的专门硬件的专用计算机。本发明也可被嵌入在计算机程序产品或传播的信号中,该程序产品或信号包括使能实现这里描述的方法的所有各特征,并且当其被装载到计算机系统中时,能够执行这些方法。在本上下文中,计算机程序、传播的信号、软件程序、程序、或软件是指以任何语言、代码或符号表示的一组指令的任何表达,该组指令旨在致使具有信息处理能力的系统或直接地或在执行了(a)转换为另一种语言、代码或符号;和/或(b)以不同的材料形式再现中的任何一个或两者之后执行特定功能。
对本发明的优选实施例的以上描述是为说明和描述的目的给出的。它并非旨在是穷尽性地或将本发明限制为所公开的精确形式,并且显然地,很多修改和改变都是可能的。对本领域的技术人员可能是显而易见的这种修改和改变旨在被包括在由所附权利要求所定义的本发明的范围内。

Claims (17)

1.一种方法,包括:
提供独立于设备和建模语言的Java Server Faces(JSF)网页,其中该JSF网页不包含任何特定于建模语言的元素。
2.根据权利要求1的方法,其中该建模语言包括超文本标记语言(HTML)。
3.根据权利要求1的方法,其中该JSF网页包括至少一个独立于设备和建模语言的JSF标记。
4.根据权利要求3的方法,其中每个独立于设备和建模语言的JSF标记代表相应的独立于设备和建模语言的JSF组件。
5.根据权利要求4的方法,其中所述独立于设备和建模语言的JSF组件是从包括以下各项的组中选择的:代表建模语言的独立于设备和建模语言的JSF组件,代表该JSF网页的区域的独立于设备和建模语言的JSF组件,代表布局信息的独立于设备和建模语言的JSF组件,代表布局数据信息的独立于设备和建模语言的JSF组件,代表函数调用的独立于设备和建模语言的JSF组件,以及代表对存储在该JSF网页外部的信息的引用的独立于设备和建模语言的JSF组件。
6.根据权利要求1的方法,还包括:
呈现所述独立于设备和建模语言的JSF网页。
7.根据权利要求6的方法,其中可使用多个不同的建模语言来呈现所述独立于设备和建模语言的JSF网页。
8.一种系统,包括:
用于提供独立于设备和建模语言的Java Server Faces(JSF)网页的装置,其中该JSF网页不包含任何特定于建模语言的元素。
9.根据权利要求8的系统,其中该建模语言包括超文本标记语言(HTML)。
10.根据权利要求8的系统,其中该JSF网页包括至少一个独立于设备和建模语言的JSF标记。
11.根据权利要求10的系统,其中每个独立于设备和建模语言的JSF标记代表相应的独立于设备和建模语言的JSF组件。
12.根据权利要求11的系统,其中所述独立于设备和建模语言的JSF组件是从包括以下各项的组中选择的:代表建模语言的独立于设备和建模语言的JSF组件,代表该JSF网页的区域的独立于设备和建模语言的JSF组件,代表布局信息的独立于设备和建模语言的JSF组件,代表布局数据信息的独立于设备和建模语言的JSF组件,代表函数调用的独立于设备和建模语言的JSF组件,以及代表对存储在该JSF网页外部的信息的引用的独立于设备和建模语言的JSF组件。
13.根据权利要求8的系统,还包括:
用于呈现所述独立于设备和建模语言的JSF网页的装置。
14.根据权利要求13的系统,其中可使用多个不同的建模语言来呈现所述独立于设备和建模语言的JSF网页。
15.一种存储在可记录介质上的程序产品,包括:
用于实现上述各方法权利要求的任何方法的程序代码。
16.一种用于部署应用的方法,包括:
提供计算机基础设施,该计算机基础设施可运行以:
提供独立于设备和建模语言的Java Server Faces(JSF)
网页,其中该JSF网页不包含任何特定于建模语言的元素。
17.体现在传播的信号中的计算机软件,该计算机软件包含用于致使计算机系统执行以下功能的指令:
提供独立于设备和建模语言的JSF网页,其中该JSF网页不包含任何特定于建模语言的元素。
CNA2006100073328A 2005-02-11 2006-02-09 扩展Java Server Faces的方法和系统 Pending CN1818903A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/056,587 2005-02-11
US11/056,587 US10068030B2 (en) 2005-02-11 2005-02-11 Extending java server faces web pages to support multiple devices

Publications (1)

Publication Number Publication Date
CN1818903A true CN1818903A (zh) 2006-08-16

Family

ID=36817095

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006100073328A Pending CN1818903A (zh) 2005-02-11 2006-02-09 扩展Java Server Faces的方法和系统

Country Status (2)

Country Link
US (1) US10068030B2 (zh)
CN (1) CN1818903A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100481002C (zh) * 2007-04-18 2009-04-22 杭州华三通信技术有限公司 一种Web界面扩展方法和装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7895571B2 (en) * 2007-01-25 2011-02-22 International Business Machines Corporation Method and apparatus for resolving client-side logic
US8447874B2 (en) * 2008-02-04 2013-05-21 Oracle International Corporation Web page data streaming
US9779176B2 (en) * 2008-04-02 2017-10-03 International Business Machines Corporation Accessing external functionality within a component-based web application
US8239493B2 (en) 2009-04-21 2012-08-07 International Business Machines Corporation Automated server controlled client-side logging
US8856803B2 (en) 2011-11-02 2014-10-07 Oracle International Corporation Content delivery within an application

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US182651A (en) * 1876-09-26 Improvement in wire-stretchers
US78371A (en) * 1868-05-26 Improved cae-beake aid staeteb
US3347A (en) * 1843-11-21 Improvement in cotton-presses
US5999179A (en) * 1997-11-17 1999-12-07 Fujitsu Limited Platform independent computer network management client
US7571388B2 (en) * 2001-05-31 2009-08-04 International Business Machines Corporation Computer-readable memory medium for fast drawing of text fields and labels using a Java swing application program interface
US20030182651A1 (en) 2002-03-21 2003-09-25 Mark Secrist Method of integrating software components into an integrated solution
US20040078371A1 (en) 2002-05-22 2004-04-22 Joel Worrall Method and system for providing multiple virtual portals on a computer network
US7343550B2 (en) 2002-06-28 2008-03-11 Ubs Painewebber, Inc. System and method for providing on-line services for multiple entities
EP1629377A2 (en) * 2003-06-05 2006-03-01 Swiss Reinsurance Company Method and terminal for generating uniform device-independent graphical user interfaces
US20050144226A1 (en) * 2003-11-10 2005-06-30 Churchill Software Services Systems and methods for modeling and generating reusable application component frameworks, and automated assembly of service-oriented applications from existing applications
US7246134B1 (en) * 2004-03-04 2007-07-17 Sun Microsystems, Inc. System and methods for tag library generation
US7954050B2 (en) * 2004-06-25 2011-05-31 Icesoft Technologies Canada Corp. Systems and methods for rendering and increasing portability of document-based user interface software objects
US7412689B1 (en) * 2004-06-25 2008-08-12 Sun Microsystems, Inc. Method and apparatus for creating a hierarchical model to facilitate identifying components in a programming language file
US7634721B1 (en) * 2004-08-23 2009-12-15 Sun Microsystems Inc. Composite component architecture using javaserver pages (JSP) tags

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100481002C (zh) * 2007-04-18 2009-04-22 杭州华三通信技术有限公司 一种Web界面扩展方法和装置

Also Published As

Publication number Publication date
US20060184913A1 (en) 2006-08-17
US10068030B2 (en) 2018-09-04

Similar Documents

Publication Publication Date Title
CN1794231A (zh) 具有替换格式的上下文无关的文档部分
CN1285997C (zh) 链接内容浏览支持装置及其方法
CN1154935C (zh) 设备控制装置及设备判断方法
CN100338573C (zh) 设计用户界面样式的方法以及具有自适应用户界面的设备
CN1609793A (zh) 用于计算机平台的编程接口
CN1173285C (zh) 固定显示信息的方法和装置
CN1821956A (zh) 用现有内容生成用于执行任务的活动内容向导可执行文件
CN1841376A (zh) 对网络表单的数据驱动动作
CN1558348A (zh) 将基于模式的分级数据结构转换成平面数据结构的方法以及系统
CN1268710A (zh) 数据库检索装置及方法
CN1379346A (zh) 数字内容作成系统以及数字内容作成程序
CN1041839A (zh) 包含有在二个目标之间进行数据传送的快照设施的目标管理设施
CN1648846A (zh) 文件处理装置和文件处理方法
CN1842126A (zh) 信息处理装置、图像处理装置和方法及为此的存储介质
CN101048773A (zh) 文件分析系统、以及文件适应系统
CN1783075A (zh) 用于显示网络数据的方法、设备、处理器配置
CN1328668A (zh) 用于指定网络上的位置的系统和处理
CN1222242A (zh) 基于网络的访问系统
CN1046625A (zh) 在结构式文件中制作、扩展及收缩组元标记的技术
CN1700652A (zh) 一种基于协同模板的协同设计方法
CN1818897A (zh) 面向多媒体网络电子出版物制作的实现方法
CN1818903A (zh) 扩展Java Server Faces的方法和系统
CN1288584C (zh) 电子词典和服务器
CN1889039A (zh) 基于xml实现通用浏览器工具条的方法
CN1777890A (zh) 支持使用关键字的数据注册/搜索的设备、以及报告预备支持设备和程序

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication