WO2009082900A1 - Page component layout method and device - Google Patents

Page component layout method and device Download PDF

Info

Publication number
WO2009082900A1
WO2009082900A1 PCT/CN2008/072465 CN2008072465W WO2009082900A1 WO 2009082900 A1 WO2009082900 A1 WO 2009082900A1 CN 2008072465 W CN2008072465 W CN 2008072465W WO 2009082900 A1 WO2009082900 A1 WO 2009082900A1
Authority
WO
WIPO (PCT)
Prior art keywords
component
tag
layout
container
code
Prior art date
Application number
PCT/CN2008/072465
Other languages
French (fr)
Chinese (zh)
Inventor
Jianjun Liu
Original Assignee
Huawei Technologies Co., Ltd.
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 Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of WO2009082900A1 publication Critical patent/WO2009082900A1/en

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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation

Definitions

  • the present invention relates to the field of page layout technology, and specifically relates to a method for implementing a page control layout through a Java Service Page (JSP: Java Server Page) tag and a corresponding code for generating a HyperText Markup Language (HTML: HyperText Markup Language) through a JSP tag. s installation.
  • JSP Java Service Page
  • HTML HyperText Markup Language
  • the inventors of the present invention found in the research and practice of this method that the development difficulty associated with the layout has not been reduced in this method, and the developer needs to be familiar with the HTML code in order to write the code related to the page layout.
  • the JSP tag generates the HTML code of its own layout at the same time.
  • An example is as follows:
  • ⁇ xxx:form> ⁇ /xxx:form> is the start and end tags of the JSP tag form.
  • each JSP tag not only needs to generate its own content.
  • the HTML code also to generate the HTML code of its own layout, as shown below:
  • ⁇ table> ⁇ /table> is the layout code generated by the JSP tag form; before and after the two groups of inventors of the present invention found in the research and practice of this method, in this method, although the developer does not need to manually Write HTML code to implement the layout, but because the layout logic is fixed in the label, for the already completed label, the flexible layout requirements cannot be met. In addition, if you do not understand the layout logic used by the label, it is easy to cause conflicts in the layout of the generated HTML code after the label is executed, and destroy the overall layout structure of the page.
  • the embodiment of the invention provides a page control layout method and a corresponding device, which can realize the layout requirement of the JSP label simply and flexibly.
  • a page control layout method comprising: executing a container start tag of a container tag, comprising: calling a layout manager corresponding to the container tag to generate a layout start code; executing a component tag in the container tag, including, according to the The container tag in which the component tag is located obtains a layout manager corresponding to the container tag, and the layout manager is invoked to generate a component layout start code and a component layout end code associated with the component tag; and the container that executes the container tag ends
  • the tag includes, by calling, a layout manager corresponding to the container tag, and generating a layout end code.
  • An apparatus for generating HTML code by using a JSP tag comprising: a Java service page engine, a container execution unit, and a component execution unit; the Java service page engine, configured to execute a Java service page file, when executing to a container tag Calling the container execution unit for execution, when the component tag is executed, calling the component execution unit to execute; the container execution unit having an interface for acquiring a layout manager, configured to: according to the Java service page engine Executing a call when the container of the container tag starts the tag, calling a layout manager corresponding to the container tag to generate a layout start code; and calling according to the call of the Java service page engine when executing the container end tag of the container tag
  • the layout manager corresponding to the container tag generates a layout end code;
  • the component execution unit has an interface for acquiring a layout manager, configured to: according to the call of the Java service page engine when executing the component label, according to the component label Container label obtained with the container label A corresponding layout manager is invoked, and the layout manager is invoked to generate
  • a computer program product comprising computer program code, which when executed by a computer, causes the computer to perform the steps of the aforementioned page control layout method.
  • a computer readable storage medium wherein the computer readable storage medium stores computer program code, when the computer program code is executed by a computer, the computer program code can cause the computer to perform the aforementioned Steps in the page control layout method.
  • JSP tags two different types are used: a container tag and a component tag, the layout logic is stripped from the component tag, and the corresponding layout manager implementation component tag is found through the container tag where the component tag is located.
  • Layout because the layout manager associated with the container tag is responsible for the generation of the layout code, so that developers do not need to directly write the layout code, the development is simple; and, the component tag itself has nothing to do with the layout logic, can achieve different through different container tags Layout requirements, flexible and error-free.
  • FIG. 1 is a schematic diagram of main steps of a page control layout method according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram showing the basic logical structure of an apparatus according to an embodiment of the present invention.
  • FIG. 3 is a schematic flow chart of a page control layout method according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram showing the logical structure of a device corresponding to the method of the embodiment of the present invention.
  • FIG. 5 is a schematic flowchart of a second page control layout method according to Embodiment 2 of the present invention.
  • FIG. 6 is a schematic diagram showing the logical structure of an apparatus corresponding to the method of the second embodiment of the present invention.
  • FIG. 7 is a schematic flow chart of a method for layout a three-page control according to an embodiment of the present invention.
  • FIG. 8 is a schematic diagram showing the logical structure of an apparatus corresponding to the third method of the embodiment of the present invention.
  • Embodiments of the present invention provide a page control layout method and corresponding apparatus.
  • the page control layout method of the embodiment of the present invention mainly includes the following steps:
  • the container start tag of the container tag is executed, and the layout manager corresponding to the container tag is called to generate a layout start code.
  • JSP tags Two different types are used in embodiments of the invention: container tags and component tags.
  • the component label needs to be placed in the container label, and therefore, the container label adopts a structure including a container start label and a container end label.
  • Each container label is associated with the corresponding layout manager, which is negative by the layout manager
  • Executing a component label in the container label comprising: obtaining a layout manager corresponding to the container label according to the container label of the component label, calling the layout manager to generate a component layout start code and component layout end associated with the component label Code.
  • the component tag can take the form of a structure that includes a component start tag and a component end tag, or a structure in which the start and end tags are merged together. There may be one or more component tags in the container tag. If there are multiple component tags, execute each component tag in this step to generate the associated component layout start code and component layout end code.
  • a component tag can include one or more components that can be of a type or a consistent type.
  • the component tag usually needs to provide certain content, so executing the component tag in the container tag may further include generating the component content code between the steps of generating the component layout start code and the component layout end code;
  • the respective component content code generated separately should be between the component layout start code and the component layout end code of the corresponding component.
  • the so-called component content code can be composed of the component content start code and the component content end code; or it can be a single object component content code, such as text, which can be regarded as including the component content code of the single object in the component content.
  • the component content end code if included in the component content start code, the component content end code may be empty, and if included in the component content end code, the component content start code may be empty.
  • A3 Executing a container end tag of the container tag, including, calling a layout manager corresponding to the container tag, and generating a layout end code.
  • the container tag can also have its own content, similar to the component content, and can be composed of the container content start code and the container content end code; or it can be a single object container content code. Therefore, in the process of executing the container start tag, after generating the layout start code, the container content code of the single object may be generated; or, in the process of executing the container end tag, the single object may be generated first.
  • the container content code and then perform the operation of calling the layout manager; or, during the execution of the container start tag, after generating the layout start code, generate the container content start code, and then in the process of executing the container end tag, Generate a container content end code, and then perform an operation that calls the layout manager.
  • the case of generating the container content code of the single object may also be regarded as performing the steps of generating the container content start and end code respectively, but the result of one of the execution steps is
  • a component tag T is not in a container tag, or a component tag T is in another component tag, when the component tag T is executed, obtaining the corresponding layout manager operation will return a null value. The generation of the component tag T layout code is not performed.
  • the container tag is primarily used to associate the layout manager. Since the layout manager needs to be called to implement the layout, the container tag provides a code interface to get the layout manager. Of course, in order to achieve flexible configuration of the layout manager, the container tag can further provide a code interface for setting the layout manager, so that the layout manager's layout logic can be modified and set by executing the container tag. Further, if the container tag has its own content, the container tag may further provide a code interface for generating a container content start code and a code interface for generating a container content end code, and if the container content is a single object container content code, one of the generated tags The code snippet provided by the code interface of the content can be empty. There are four interfaces, the code interface for generating the layout start and end code, and the code interface for generating the component layout start and end code.
  • the component tag is independent of the layout logic, so a code interface for generating the component content start code and the component content end code can be provided. If the component content is a component content code of a single object, the code segment provided by one of the code interfaces can be empty.
  • the apparatus for generating HTML code by using a JSP tag mainly includes a JSP engine (abbreviated as "engine,” in FIG. 2) 101, and a container execution unit 102. And component execution unit 103.
  • the JSP engine 101 is configured to execute the JSP file, and the container execution unit 102 is called to execute when the container tag is executed.
  • the component execution unit 103 is called to execute.
  • the container execution unit 102 has an interface for acquiring a layout manager, configured to: according to a call of the JSP engine 101 when executing a container start label of the container label, calling a layout manager corresponding to the container label to generate a layout start code; according to the JSP engine
  • the layout manager corresponding to the container tag is called to generate a layout end code.
  • the component execution unit 103 has an interface for acquiring a layout manager, and: according to the call of the JSP engine 101 when executing the component label, obtaining a layout manager corresponding to the container label according to the container label of the component label, and calling the layout
  • the manager generates a component layout start code and a component layout end code associated with the executed component tag.
  • the container execution unit 102 may further have an interface for setting a layout manager; such that the container execution unit 102 is further configured to set a layout manager corresponding to the container label according to a call of the JSP engine 101 when executing the container label. .
  • JSP tags two different types are used: a container tag and a component tag, and the layout logic is stripped from the component tag, and the layout of the component tag is determined by the layout of the container tag where the component tag is located.
  • the manager is responsible for the developer not having to write the layout code directly, and the development is simple; and, the component tag itself has nothing to do with the layout logic, and can be implemented by placing it in different container tags to achieve different layout requirements, and the use of the tag itself does not need to be generated and Layout-related HTML code, so it does not cause layout conflicts after the label is executed, ensuring the correctness of the layout logic.
  • Embodiment 1 A layout method of a page control, referring to FIG. 3 (in FIG. 3, a pair of oppositely-directional arrows with the same label indicate corresponding call and return, and further, due to the container execution unit/component actuator label/component label as The main body, the representation in the subsequent flowchart is the same, and will not be described again. It includes the following steps:
  • the JSP engine (abbreviated as "engine” in Figure 3) calls the container execution unit to execute the container start tag of the container tag.
  • the container execution unit executes the container start tag, and calls the layout manager corresponding to the container tag to generate a layout start code.
  • the JSP engine calls the component execution unit to execute the component start label of the component label in the container tag Sign.
  • the component execution unit executes a component start tag, and obtains a layout manager corresponding to the container tag according to the container tag where the component tag is located.
  • the layout manager obtained by the component execution unit call generates the component layout start code.
  • the component tag needs to provide certain content, so when the component execution unit executes the component start tag, in addition to generating the component layout start code, the component content start code is further generated; the code segment can be empty. sign. . , , , a8, the component execution unit executes the component end tag, typically, the component content end code can be generated; this code snippet can be empty.
  • the component execution unit After generating the component content end code, the component execution unit obtains a layout manager corresponding to the container tag according to the container tag where the component tag is executed.
  • the layout manager obtained by the component execution unit call generates the component layout end code.
  • JSP engine calls the container execution unit to execute the container end tag of the container tag.
  • the container execution unit executes the container end tag, and calls the layout manager corresponding to the container tag to generate a layout end code.
  • the steps of a3 ⁇ alO are repeated for each component tag.
  • the component execution unit 203 in the apparatus for generating the HTML code by using the JSP tag in the embodiment of the present invention may specifically adopt the following structures, including:
  • a first start unit 2031 for invoking a call to a component of a component tag according to a JSP engine (abbreviated as "engine” in FIG. 4), and obtaining a container tag based on the container tag in which the component tag is located
  • the layout manager corresponding to the tag calls the obtained layout manager to generate the component layout start code.
  • the first ending unit 2032 is configured to obtain, according to the JSP engine 201, a call when the component end tag of the component tag is executed, and obtain a layout manager corresponding to the container tag according to the container tag where the component tag is located, and invoke the obtained layout management. Generates a component layout end code.
  • the JSP engine 201 and the container execution unit 202 of FIG. 4 can employ the logical structure of the aforementioned JSP engine 101 and container execution unit 102.
  • the JSP tag used in a JSP file includes the container tag grid, the component tag, and the component tag B:
  • the JSP engine executes the above JSP file.
  • the container execution unit When parsing the container start tag ⁇ xxx:grid> of the container tag grid, the container execution unit generates a layout start code (generated by calling the corresponding layout manager. For the sake of brevity, the following is omitted. Description, no longer repeat the description):
  • the component execution unit gets its container "grid” to find the relevant layout manager, and generates the component layout start code:
  • the component execution unit then generates the component layout end code through the layout manager:
  • the component execution unit gets the container "grid” to which it is located, generates the component layout start code, and the component of component tag B.
  • Content start code
  • the component execution unit gets the container "grid" to which it is located, generates the component content end code of the component tag B, and the component layout end code:
  • the container execution unit when the JSP engine parses the container end tag ⁇ 0 «: ⁇ (1> of the container tag grid, the container execution unit generates a layout end code:
  • component A is displayed on the upper line
  • component B is displayed on the lower line.
  • component content code of component tag B can also be output once like component tag A, for example, output in the start code, then the end code output is empty.
  • Embodiment 2 A page control layout method differs from the first embodiment in that component tags have different types of components, and each component needs to have its own component layout start code and component layout end code. Referring to Figure 5, the following steps are included:
  • the bl, JSP engine (abbreviated as "engine” in Figure 5) calls the container execution unit to execute the container start label for the container label.
  • the container execution unit executes a container start tag, and calls a layout manager corresponding to the container tag to generate a layout start code.
  • the JSP engine invokes the component execution unit to execute the component start tag of the component tag in the container tag.
  • the component execution unit executes a component start tag, and obtains a layout manager corresponding to the container tag according to the container tag where the component tag is located.
  • the component execution unit acquires the front component in the executed component tag.
  • the main component usually refers to the main output of the component tag, which is generally one. If there is other nested content in the component tag, it will be the nested content of the main component, and the main component may or may not use the embedded content.
  • the front component refers to the component that needs to be output in front of the main component. There may be more than one front component.
  • Post component refers to the component that needs to be output behind the main component. There can also be more than one rear component.
  • B6 The layout manager obtained by the component execution unit call generates the pre-component layout start code.
  • B7 Usually the pre-component needs to provide certain content, so the pre-component content start code is further generated; this code fragment can be empty.
  • B8. Generate the pre-component content end code; this code snippet can be empty.
  • the layout manager obtained by the component execution unit call generates the pre-component layout end code.
  • step b5 If there are multiple pre-components obtained in step b5, repeat the steps b6 ⁇ b9 for each pre-component to obtain the layout code and content code of all the pre-components.
  • the layout manager obtained by the component execution unit call generates the main component layout start code; bll, usually the main component needs to provide certain content, so the main component content start code is further generated; the code fragment can be empty. label.
  • the component execution unit executes the component end tag, usually, the main component content end code can be generated; this code fragment can be empty.
  • the component execution unit After generating the main component content end code, the component execution unit obtains a layout manager corresponding to the container tag according to the container tag where the executed component tag is located.
  • the layout manager obtained by the component execution unit call generates the main component layout end code.
  • the component execution unit obtains the post component in the executed component tag.
  • the component execution unit calls the obtained layout manager to generate the post component layout start code.
  • Bl8 usually the post component needs to provide some content, so the post component content start code is further generated; this code snippet can be empty.
  • the component execution unit calls the obtained layout manager to generate the post component layout end code. If there are multiple post-components obtained in step bl6, repeat the steps bl7 ⁇ b20 for each post-component to obtain the layout code and content code of all the post-components.
  • the JSP engine invokes the container execution unit to execute the container end tag of the container tag.
  • the container execution unit executes a container end tag, and invokes a layout manager corresponding to the container tag to generate a layout end code.
  • the component execution unit 303 in the apparatus for generating the HTML code by using the JSP tag in the embodiment of the present invention may specifically adopt the following structures, including:
  • obtains the layout manager corresponding to the container tag according to the container tag where the component tag is located; acquires the pre-component in the component tag, and calls the obtained layout manager before generating The component layout start code and the front component layout end code; the obtained layout manager generates the main component layout start code.
  • the second ending unit 3032 is configured to obtain, according to the call of the JSP engine 301 when executing the component end tag of the component tag, obtain a layout manager corresponding to the container tag according to the container tag where the component tag is located, and invoke the obtained layout management.
  • the main component layout end code is generated; the post component in the component tag is obtained, and the obtained layout manager generates the post component layout start code and the post component layout end code.
  • the JSP engine 301 and the container execution unit 302 in Fig. 6 can employ the logical structure of the aforementioned JSP engine 101 and container execution unit 102.
  • the JSP tag used in a JSP file includes a container tag grid and a component tag A.
  • the component tag A breaks itself into three components: a front component "label", a main component, and a post component "description":
  • the JSP engine executes the above JSP file.
  • the container execution unit When parsing the container start tag ⁇ xxx:grid> to the container tag grid, the container execution unit generates a layout start code:
  • the component execution unit gets its container "grid” to find the relevant layout manager, and generates the pre-component layout start code:
  • the component execution unit then generates the pre-component layout end code through the layout manager:
  • the component execution unit generates the layout start code and content code of the main component and the layout end code of the main component:
  • the layout start code, content start and end code of the post component "description” is generated (the post component "description” is used to generate the description content, the content is a single object), and the layout end code:
  • the container execution unit when the JSP engine parses the container end tag ⁇ 00 ⁇ 1 ⁇ > of the container tag grid, the container execution unit generates a layout end code:
  • the output of the total HTML code is:
  • the corresponding layout effect is that one line is displayed in the browser, the title is displayed on the left side, the main component content is displayed in the middle, and the description content is displayed on the right side.
  • Embodiment 3 A page control layout method differs from Embodiment 1 in that a component tag contains a plurality of components of a distinguishable type, and each component needs to have its own component layout start code and component layout end code.
  • Figure 7 including the following steps:
  • the cl, JSP engine (abbreviated as "engine” in Figure 7) calls the container execution unit to execute the container start tag of the container tag.
  • the container execution unit executes a container start tag, and calls a layout manager corresponding to the container tag to generate a layout start code.
  • the JSP engine invokes the component execution unit to execute the component start tag of the component tag in the container tag, and the code returned by the execution process may be empty. sign. . , , , , c5, the component execution unit executes the component end tag, and obtains a layout manager corresponding to the container tag according to the container tag where the component tag is executed.
  • the component execution unit acquires each component in the executed component tag.
  • a component tag needs to be responsible for generating content of multiple components, multiple components may be included.
  • the types of components in the component tags are not distinguished, and the components included are uniformly operated.
  • the layout manager obtained by the component execution unit call generates the component layout start code.
  • C8 usually the component needs to provide certain content, so the component content start code is further generated; this code fragment can be empty.
  • the layout manager obtained by the component execution unit call generates the component layout end code.
  • step c6 If there are multiple components obtained in step c6, repeat the steps of c7 ⁇ cl0 for each component, and obtain the layout code and content code of all components.
  • the JSP engine calls the container execution unit to execute the container end tag of the container tag.
  • the container execution unit executes the container end tag, and calls the layout manager corresponding to the container tag to generate a layout end code.
  • steps c5 ⁇ cl0 can also be performed during the execution of the component start tag.
  • the returned code can be empty.
  • the component execution unit 403 in the apparatus for generating the HTML code by using the JSP tag in the embodiment of the present invention may specifically adopt the following structures, including:
  • the third start unit 4031 is configured to execute the component start tag according to a call of the JSP engine (abbreviated as "engine” in FIG. 8) 401 when the component of the component tag is started.
  • engine the JSP engine
  • a third ending unit 4032 configured to obtain, according to the JSP engine 401, a call when the component of the component tag ends the tag, and obtain a layout manager corresponding to the container tag according to the container tag where the component tag is located; Each component of the call; the obtained layout manager separately generates the component layout start code and the component layout end code of each component.
  • the JSP engine 401 and the container execution unit 402 in Fig. 8 can employ the logical structure of the aforementioned JSP engine 101 and container execution unit 102.
  • the JSP tag used in a JSP file includes the container tag grid, the component tag A, and the component tag A. Solved into three components: “contentl” , “content2' ⁇ "content3” :
  • the JSP engine executes the above JSP file.
  • the container execution unit When parsing the container start tag ⁇ xxx:grid> to the container tag grid, the container execution unit generates a layout start code:
  • the component execution unit obtains the three components it contains and gets the container "grid" to find the relevant layout manager. Do the following for each component in turn:
  • the container execution unit when the JSP engine parses the container end tag ⁇ 0 «: ⁇ (1> of the container tag grid, the container execution unit generates a layout end code:
  • the corresponding layout effect is to display one row and three columns in the browser, the first column shows contentl, the second column shows content2, and the third column shows content3.
  • JSP tags two different types are used: a container tag and a component tag, the layout logic is stripped from the component tag, and the corresponding layout manager implementation component tag is found through the container tag where the component tag is located.
  • Layout because the layout manager associated with the container tag is responsible for the generation of the layout code, the developer does not need to directly write the layout code, which simplifies the development and maintenance of the component tag; and, the component tag itself is independent of the layout logic, and can be different.
  • Container tags implement different layout requirements, are scalable, flexible, and error-prone. Further provision A method of controlling multiple or different types of component layouts through component tags can support more flexible application methods.
  • the program may be stored in a computer readable storage medium, and the storage medium may include: ROM, RAM, disk or CD, etc.

Abstract

A page component layout method is disclosed. The method which uses two different types of JSP tags including container tag and component tag includes: detaching layout logic from the component tags, finding layout manager corresponding to the container tag in which component tags located, and implementing the layout of the component tag. A device for generating HTML code by JSP is also disclosed. Because the layout code is generated by layout manager associated with the container tag, component tags have nothing to do with the layout logic, and it is possible to implement different layout requirements by using different container tags.

Description

页面控件布局方法与装置  Page control layout method and device
本申请要求于 2007 年 12 月 29 日提交中国专利局、 申请号为 200710307876.0、 发明名称为 "页面控件布局方法与装置" 的中国专利申请的 优先权, 其全部内容通过引用结合在本申请中。  The present application claims priority to Chinese Patent Application No. 200710307876.0, entitled "Page Control Layout Method and Apparatus", filed on Dec. 29, 2007, the entire disclosure of which is incorporated herein by reference.
技术领域 Technical field
本发明涉及页面布局技术领域, 具体涉及通过 Java服务页面 (JSP: Java Server Page )标签实现页面控件布局的方法以及相应的用于通过 JSP标签生成 超文本置标语言 (HTML: HyperText Markup Language )代码的装置。  The present invention relates to the field of page layout technology, and specifically relates to a method for implementing a page control layout through a Java Service Page (JSP: Java Server Page) tag and a corresponding code for generating a HyperText Markup Language (HTML: HyperText Markup Language) through a JSP tag. s installation.
背景技术 Background technique
目前, 为简化书写 HTML代码的难度, 使开发人员更能按照页面控件的 编写习惯开发页面,通过 JSP标签技术生成页面控件的应用越来越普遍。在这 些应用中,通过 JSP标签实现页面控件布局是一项重要的内容,通常采用如下 两种方法:  At present, in order to simplify the difficulty of writing HTML code, it is more and more common for developers to develop pages according to the writing habits of page controls. In these applications, the implementation of page control layout through JSP tags is an important part, usually in the following two ways:
一、 直接使用 HTML代码实现布局的要求, 将 JSP标签嵌套在用于布局 的代码中。 示例如下: 上例中, <xxx:A/> <xxx:B/>分别为 JSP标签 A和 JSP标签 B (这两个 JSP标签各自的开始标签和结束标签是合并在一起的); <table> </table>分别 为布局开始代码和布局结束代码 ,前后两组<¾><¾(1>和<^(1></^>分别为嵌套在 "<table>…… </table>" 中的 JSP标签 A和 JSP标签 B的布局开始和结束代 码。 该布局将显示上下两个区域, 在上方的区域中显示标签 A的内容, 在下 方的区域中显示标签 B的内容。  First, the requirements for layout directly using HTML code, nesting JSP tags in the code for layout. Here is an example: In the above example, <xxx:A/> <xxx:B/> are JSP tag A and JSP tag B respectively (the start and end tags of the two JSP tags are merged together); > </table> is the layout start code and layout end code, respectively, before and after the two groups <3⁄4><3⁄4 (1> and <^(1></^> are nested in "<table>...... </table >" layout start and end code of JSP tag A and JSP tag B. This layout will display the upper and lower areas, display the contents of tag A in the upper area, and display the contents of tag B in the lower area.
本发明的发明人在对此方法的研究和实践过程中发现,在这个方法中, 与 布局相关的开发难度并没有被降低, 开发人员需要熟悉 HTML代码才能编写 出与页面布局相关的代码。  The inventors of the present invention found in the research and practice of this method that the development difficulty associated with the layout has not been reduced in this method, and the developer needs to be familiar with the HTML code in order to write the code related to the page layout.
二、 由 JSP标签同时生成自身布局的 HTML代码。 示例如下:  Second, the JSP tag generates the HTML code of its own layout at the same time. An example is as follows:
<xxx:form><xxx:A/><xxx:B/></xxx:form>  <xxx:form><xxx:A/><xxx:B/></xxx:form>
上例中 , <xxx:form> </xxx:form>分别为 JSP标签 form的开始和结束标 签。 在执行上述 JSP标签的过程中, 各个 JSP标签不仅需要生成自身内容的 HTML代码 , 还要生成自身布局的 HTML代码 , 如下所示: In the above example, <xxx:form></xxx:form> is the start and end tags of the JSP tag form. In the process of executing the above JSP tags, each JSP tag not only needs to generate its own content. The HTML code, also to generate the HTML code of its own layout, as shown below:
<form><table><tr><td>标签 A 的内容 </td></tr><tr><td>标签 B 的内容 <form><table><tr><td>Content of tag A </td></tr><tr><td>Content of tag B
</tdx/tr></table></form> </tdx/tr></table></form>
其中, <table> </table>即为由 JSP标签 form生成的布局代码; 前后两组 本发明的发明人在对此方法的研究和实践过程中发现,在这个方法中, 虽 然开发人员无需手动书写 HTML代码来实现布局, 但是由于布局逻辑固定在 标签中,对于已经编写完成的标签而言,无法满足灵活多变的布局需求。此外, 若不了解标签所使用的布局逻辑, 还容易造成标签执行后所生成 HTML代码 间布局的冲突, 破坏页面整体的布局结构。  Where <table> </table> is the layout code generated by the JSP tag form; before and after the two groups of inventors of the present invention found in the research and practice of this method, in this method, although the developer does not need to manually Write HTML code to implement the layout, but because the layout logic is fixed in the label, for the already completed label, the flexible layout requirements cannot be met. In addition, if you do not understand the layout logic used by the label, it is easy to cause conflicts in the layout of the generated HTML code after the label is executed, and destroy the overall layout structure of the page.
发明内容 Summary of the invention
本发明实施例提供页面控件布局方法和相应的装置, 能够简单、灵活的实 现 JSP标签的布局要求。  The embodiment of the invention provides a page control layout method and a corresponding device, which can realize the layout requirement of the JSP label simply and flexibly.
一种页面控件布局方法, 包括: 执行容器标签的容器开始标签, 包括, 调 用与所述容器标签对应的布局管理器生成布局开始代码;执行所述容器标签中 的组件标签, 包括,根据所述组件标签所在的容器标签获得与所述容器标签对 应的布局管理器,调用所述布局管理器生成与所述组件标签关联的组件布局开 始代码和组件布局结束代码; 执行所述容器标签的容器结束标签, 包括, 调用 与所述容器标签对应的布局管理器, 生成布局结束代码。  A page control layout method, comprising: executing a container start tag of a container tag, comprising: calling a layout manager corresponding to the container tag to generate a layout start code; executing a component tag in the container tag, including, according to the The container tag in which the component tag is located obtains a layout manager corresponding to the container tag, and the layout manager is invoked to generate a component layout start code and a component layout end code associated with the component tag; and the container that executes the container tag ends The tag includes, by calling, a layout manager corresponding to the container tag, and generating a layout end code.
一种用于通过 JSP标签生成 HTML代码的装置, 包括: 包括 Java服务页 面引擎、 容器执行单元和组件执行单元; 所述 Java服务页面引擎, 用于执行 Java服务页面文件,在执行到容器标签时调用所述容器执行单元进行执行,在 执行到组件标签时, 调用所述组件执行单元进行执行; 所述容器执行单元, 具 有获取布局管理器的接口, 用于: 根据所述 Java服务页面引擎在执行容器标 签的容器开始标签时的调用 ,调用与所述容器标签对应的布局管理器生成布局 开始代码; 根据所述 Java服务页面引擎在执行容器标签的容器结束标签时的 调用,调用与所述容器标签对应的布局管理器生成布局结束代码; 所述组件执 行单元, 具有获取布局管理器的接口, 用于: 根据所述 Java服务页面引擎在 执行组件标签时的调用 ,根据所述组件标签所在的容器标签获得与所述容器标 签对应的布局管理器,调用所述布局管理器生成与所述组件标签关联的组件布 局开始代码和组件布局结束代码。 An apparatus for generating HTML code by using a JSP tag, comprising: a Java service page engine, a container execution unit, and a component execution unit; the Java service page engine, configured to execute a Java service page file, when executing to a container tag Calling the container execution unit for execution, when the component tag is executed, calling the component execution unit to execute; the container execution unit having an interface for acquiring a layout manager, configured to: according to the Java service page engine Executing a call when the container of the container tag starts the tag, calling a layout manager corresponding to the container tag to generate a layout start code; and calling according to the call of the Java service page engine when executing the container end tag of the container tag The layout manager corresponding to the container tag generates a layout end code; the component execution unit has an interface for acquiring a layout manager, configured to: according to the call of the Java service page engine when executing the component label, according to the component label Container label obtained with the container label A corresponding layout manager is invoked, and the layout manager is invoked to generate a component layout start code and a component layout end code associated with the component tag.
以及一种计算机程序产品, 所述计算机程序产品包括计算机程序代码, 当 所述计算机程序代码被一个计算机执行的时候,所述计算机程序代码可以使得 所述计算机执行前述页面控件布局方法中的步骤。  And a computer program product comprising computer program code, which when executed by a computer, causes the computer to perform the steps of the aforementioned page control layout method.
以及一种计算机可读存储介质,其特征在于, 所述计算机可读存储介质存 储计算机程序代码, 当所述计算机程序代码被一个计算机执行的时候, 所述计 算机程序代码可以使得所述计算机执行前述页面控件布局方法中的步骤。  And a computer readable storage medium, wherein the computer readable storage medium stores computer program code, when the computer program code is executed by a computer, the computer program code can cause the computer to perform the aforementioned Steps in the page control layout method.
本发明实施例的技术方案中,使用两种不同类型的 JSP标签: 容器标签和 组件标签,将布局逻辑从组件标签中剥离出来,通过组件标签所在的容器标签 找到对应的布局管理器实现组件标签的布局;由于采用与容器标签关联的布局 管理器负责布局代码的生成,使得开发人员无需直接编写布局代码,开发简单; 并且,组件标签自身与布局逻辑无关,可通过不同的容器标签实现不同的布局 需求, 使用灵活而不易出错。  In the technical solution of the embodiment of the present invention, two different types of JSP tags are used: a container tag and a component tag, the layout logic is stripped from the component tag, and the corresponding layout manager implementation component tag is found through the container tag where the component tag is located. Layout; because the layout manager associated with the container tag is responsible for the generation of the layout code, so that developers do not need to directly write the layout code, the development is simple; and, the component tag itself has nothing to do with the layout logic, can achieve different through different container tags Layout requirements, flexible and error-free.
附图说明 DRAWINGS
图 1是本发明实施例的页面控件布局方法主要步骤示意图;  1 is a schematic diagram of main steps of a page control layout method according to an embodiment of the present invention;
图 2是本发明实施例的装置的基本逻辑结构示意图;  2 is a schematic diagram showing the basic logical structure of an apparatus according to an embodiment of the present invention;
图 3是本发明实施例一页面控件布局方法的流程示意图;  3 is a schematic flow chart of a page control layout method according to an embodiment of the present invention;
图 4是与本发明实施例一方法对应的装置的逻辑结构示意图;  4 is a schematic diagram showing the logical structure of a device corresponding to the method of the embodiment of the present invention;
图 5是本发明实施例二页面控件布局方法的流程示意图;  FIG. 5 is a schematic flowchart of a second page control layout method according to Embodiment 2 of the present invention; FIG.
图 6是与本发明实施例二方法对应的装置的逻辑结构示意图;  6 is a schematic diagram showing the logical structure of an apparatus corresponding to the method of the second embodiment of the present invention;
图 7是本发明实施例三页面控件布局方法的流程示意图;  7 is a schematic flow chart of a method for layout a three-page control according to an embodiment of the present invention;
图 8是与本发明实施例三方法对应的装置的逻辑结构示意图。  FIG. 8 is a schematic diagram showing the logical structure of an apparatus corresponding to the third method of the embodiment of the present invention.
具体实施方式 detailed description
本发明实施例提供页面控件布局方法以及相应的装置。 参考图 1, 本发明 实施例的页面控件布局方法主要包括如下步骤:  Embodiments of the present invention provide a page control layout method and corresponding apparatus. Referring to FIG. 1, the page control layout method of the embodiment of the present invention mainly includes the following steps:
Al、 执行容器标签的容器开始标签, 包括, 调用与该容器标签对应的布 局管理器生成布局开始代码。  Al. The container start tag of the container tag is executed, and the layout manager corresponding to the container tag is called to generate a layout start code.
本发明实施例中使用两种不同类型的 JSP标签: 容器标签和组件标签。 由 于容器标签中需要放置组件标签, 因此,容器标签采用包括容器开始标签和容 器结束标签的结构。各个容器标签与相应的布局管理器关联, 由布局管理器负 Two different types of JSP tags are used in embodiments of the invention: container tags and component tags. By The component label needs to be placed in the container label, and therefore, the container label adopts a structure including a container start label and a container end label. Each container label is associated with the corresponding layout manager, which is negative by the layout manager
A2、 执行容器标签中的组件标签, 包括, 据该组件标签所在的容器标 签获得与该容器标签对应的布局管理器,调用该布局管理器生成与组件标签关 联的组件布局开始代码和组件布局结束代码。 A2. Executing a component label in the container label, comprising: obtaining a layout manager corresponding to the container label according to the container label of the component label, calling the layout manager to generate a component layout start code and component layout end associated with the component label Code.
组件标签可以采用包括组件开始标签和组件结束标签的结构,也可以采用 开始和结束标签合并在一起的结构。容器标签中可以有一个或一个以上的组件 标签, 若有多个组件标签, 则在本步骤中分别执行各个组件标签, 生成各自关 联的组件布局开始代码和组件布局结束代码即可。  The component tag can take the form of a structure that includes a component start tag and a component end tag, or a structure in which the start and end tags are merged together. There may be one or more component tags in the container tag. If there are multiple component tags, execute each component tag in this step to generate the associated component layout start code and component layout end code.
组件标签中可以包括一个或一个以上的组件,这些组件彼此之间可以有类 型上的区别,也可以是类型一致的。在生成组件布局开始代码和组件布局结束 代码时,需要分别对组件标签中的各个组件生成组件布局开始代码和组件布局 结束代码。  A component tag can include one or more components that can be of a type or a consistent type. When generating the component layout start code and the component layout end code, you need to generate the component layout start code and the component layout end code for each component in the component label separately.
进一步的,组件标签通常需要提供一定的内容, 因此执行容器标签中的组 件标签还可包括, 在生成组件布局开始代码和组件布局结束代码的步骤之间 , 生成组件内容代码; 当然, 在有多个组件的情况下, 分别生成的各个组件内容 代码应当在相应组件的组件布局开始代码和组件布局结束代码之间。所称组件 内容代码可以由组件内容开始代码和组件内容结束代码组成;也可以是单一对 象的组件内容代码, 例如文本,这种情况可视为将该单一对象的组件内容代码 包含在组件内容开始代码或组件内容结束代码中 ,若包含在组件内容开始代码 中, 则组件内容结束代码可以为空, 若包含在组件内容结束代码中, 则组件内 容开始代码可以为空。  Further, the component tag usually needs to provide certain content, so executing the component tag in the container tag may further include generating the component content code between the steps of generating the component layout start code and the component layout end code; In the case of components, the respective component content code generated separately should be between the component layout start code and the component layout end code of the corresponding component. The so-called component content code can be composed of the component content start code and the component content end code; or it can be a single object component content code, such as text, which can be regarded as including the component content code of the single object in the component content. In the code or component content end code, if included in the component content start code, the component content end code may be empty, and if included in the component content end code, the component content start code may be empty.
A3、 执行容器标签的容器结束标签, 包括, 调用与该容器标签对应的布 局管理器, 生成布局结束代码。  A3. Executing a container end tag of the container tag, including, calling a layout manager corresponding to the container tag, and generating a layout end code.
当然, 容器标签也可具有自身的内容, 与组件内容类似, 可以由容器内容 开始代码和容器内容结束代码组成;也可以是单一对象的容器内容代码。因此, 可以在执行容器开始标签的过程中,在生成布局开始代码后, 生成单一对象的 容器内容代码; 或者, 可以在执行容器结束标签的过程中, 先生成单一对象的 容器内容代码, 然后再执行调用布局管理器的操作; 或者, 也可以在执行容器 开始标签的过程中, 在生成布局开始代码后, 生成容器内容开始代码, 随后在 执行容器结束标签的过程中, 生成容器内容结束代码, 然后再执行调用布局管 理器的操作。 其中, 生成单一对象的容器内容代码的情况, 也可以视为分别执 行了生成容器内容开始和结束代码的步骤, 只是其中一个执行步骤的结果为 工 Of course, the container tag can also have its own content, similar to the component content, and can be composed of the container content start code and the container content end code; or it can be a single object container content code. Therefore, in the process of executing the container start tag, after generating the layout start code, the container content code of the single object may be generated; or, in the process of executing the container end tag, the single object may be generated first. The container content code, and then perform the operation of calling the layout manager; or, during the execution of the container start tag, after generating the layout start code, generate the container content start code, and then in the process of executing the container end tag, Generate a container content end code, and then perform an operation that calls the layout manager. Wherein, the case of generating the container content code of the single object may also be regarded as performing the steps of generating the container content start and end code respectively, but the result of one of the execution steps is
另外, 若某组件标签 T不在一个容器标签中, 或者某组件标签 T处于另 外一个组件标签中,则在执行组件标签 T时,获得相应的布局管理器的操作将 会返回空值, 这种情况下不会执行组件标签 T布局代码的生成操作。  In addition, if a component tag T is not in a container tag, or a component tag T is in another component tag, when the component tag T is executed, obtaining the corresponding layout manager operation will return a null value. The generation of the component tag T layout code is not performed.
下面根据上述页面控件布局方法,从代码设计的角度对所涉及的软件对象 进行说明:  The following describes the software objects involved from the perspective of code design according to the above page control layout method:
容器标签主要用于关联布局管理器, 由于需要调用布局管理器来实现布 局, 因此容器标签提供获取布局管理器的代码接口。 当然, 为实现对布局管理 器的灵活配置,容器标签也可进一步提供设置布局管理器的代码接口,这样即 可通过执行容器标签来修改和设置布局管理器的布局逻辑。进一步的, 若容器 标签具有自身的内容,则容器标签还可提供生成容器内容开始代码的代码接口 和生成容器内容结束代码的代码接口 , 若容器内容为单一对象的容器内容代 码 , 则其中一个生成内容的代码接口所提供的代码片段可以为空。 供四个接口,分别为生成布局开始和结束代码的代码接口, 以及生成组件布局 开始和结束代码的代码接口。  The container tag is primarily used to associate the layout manager. Since the layout manager needs to be called to implement the layout, the container tag provides a code interface to get the layout manager. Of course, in order to achieve flexible configuration of the layout manager, the container tag can further provide a code interface for setting the layout manager, so that the layout manager's layout logic can be modified and set by executing the container tag. Further, if the container tag has its own content, the container tag may further provide a code interface for generating a container content start code and a code interface for generating a container content end code, and if the container content is a single object container content code, one of the generated tags The code snippet provided by the code interface of the content can be empty. There are four interfaces, the code interface for generating the layout start and end code, and the code interface for generating the component layout start and end code.
组件标签与布局逻辑无关,因此提供生成组件内容开始代码和组件内容结 束代码的代码接口即可, 若组件内容为单一对象的组件内容代码, 则其中一个 代码接口所提供的代码片段可以为空。  The component tag is independent of the layout logic, so a code interface for generating the component content start code and the component content end code can be provided. If the component content is a component content code of a single object, the code segment provided by one of the code interfaces can be empty.
参考图 2, 对应于上述页面控件布局方法, 本发明实施例的用于通过 JSP 标签生成 HTML代码的装置主要包括 JSP引擎(在图 2中简记为 "引擎,,)101、 容器执行单元 102和组件执行单元 103。  Referring to FIG. 2, corresponding to the above page control layout method, the apparatus for generating HTML code by using a JSP tag according to an embodiment of the present invention mainly includes a JSP engine (abbreviated as "engine," in FIG. 2) 101, and a container execution unit 102. And component execution unit 103.
JSP引擎 101 , 用于执行 JSP文件, 在执行到容器标签时调用容器执行单 元 102进行执行, 在执行到组件标签时, 调用组件执行单元 103进行执行。 容器执行单元 102,具有获取布局管理器的接口,用于:根据 JSP引擎 101 在执行容器标签的容器开始标签时的调用,调用与该容器标签对应的布局管理 器生成布局开始代码;根据 JSP引擎 101在执行容器标签的容器结束标签时的 调用, 调用与该容器标签对应的布局管理器生成布局结束代码。 The JSP engine 101 is configured to execute the JSP file, and the container execution unit 102 is called to execute when the container tag is executed. When the component tag is executed, the component execution unit 103 is called to execute. The container execution unit 102 has an interface for acquiring a layout manager, configured to: according to a call of the JSP engine 101 when executing a container start label of the container label, calling a layout manager corresponding to the container label to generate a layout start code; according to the JSP engine When the container end tag is executed by the container tag, the layout manager corresponding to the container tag is called to generate a layout end code.
组件执行单元 103 ,具有获取布局管理器的接口 ,用于:根据 JSP引擎 101 在执行组件标签时的调用 ,根据该组件标签所在的容器标签获得与该容器标签 对应的布局管理器,调用该布局管理器生成与所执行组件标签关联的组件布局 开始代码和组件布局结束代码。  The component execution unit 103 has an interface for acquiring a layout manager, and: according to the call of the JSP engine 101 when executing the component label, obtaining a layout manager corresponding to the container label according to the container label of the component label, and calling the layout The manager generates a component layout start code and a component layout end code associated with the executed component tag.
进一步的,容器执行单元 102还可具有设置布局管理器的接口; 使得容器 执行单元 102还可用于,根据 JSP引擎 101在执行容器标签时的调用 ,对与该 容器标签对应的布局管理器进行设置。  Further, the container execution unit 102 may further have an interface for setting a layout manager; such that the container execution unit 102 is further configured to set a layout manager corresponding to the container label according to a call of the JSP engine 101 when executing the container label. .
本发明实施例的上述基本方案中,使用两种不同类型的 JSP标签: 容器标 签和组件标签,将布局逻辑从组件标签中剥离出来,组件标签的布局由该组件 标签所在的容器标签对应的布局管理器负责, 开发人员无需直接编写布局代 码, 开发简单; 并且, 组件标签自身与布局逻辑无关, 可通过放置在不同的容 器标签中实现不同的布局需求,使用灵活; 而且标签自身不需要生成与布局相 关的 HTML代码, 因此不会造成标签执行后的布局冲突, 保证了布局逻辑的 正确性。  In the above basic scheme of the embodiment of the present invention, two different types of JSP tags are used: a container tag and a component tag, and the layout logic is stripped from the component tag, and the layout of the component tag is determined by the layout of the container tag where the component tag is located. The manager is responsible for the developer not having to write the layout code directly, and the development is simple; and, the component tag itself has nothing to do with the layout logic, and can be implemented by placing it in different container tags to achieve different layout requirements, and the use of the tag itself does not need to be generated and Layout-related HTML code, so it does not cause layout conflicts after the label is executed, ensuring the correctness of the layout logic.
下面通过具体实施例对本发明的方法和装置作进一步的详细说明。  The method and apparatus of the present invention are further described in detail below by way of specific examples.
实施例一、 一种页面控件布局方法, 参考图 3 (图 3中, 标号相同的一对 方向相反的箭头表示对应的调用与返回, 此外, 由于容器执行单元 /组件执行 器标签 /组件标签作为主体, 后续流程图中的表示与此相同, 不再赘述), 包括 如下步骤:  Embodiment 1 A layout method of a page control, referring to FIG. 3 (in FIG. 3, a pair of oppositely-directional arrows with the same label indicate corresponding call and return, and further, due to the container execution unit/component actuator label/component label as The main body, the representation in the subsequent flowchart is the same, and will not be described again. It includes the following steps:
al、 JSP引擎(在图 3 中简记为 "引擎")调用容器执行单元执行容器标 签的容器开始标签。  Al, the JSP engine (abbreviated as "engine" in Figure 3) calls the container execution unit to execute the container start tag of the container tag.
a2、容器执行单元执行容器开始标签, 调用与该容器标签对应的布局管理 器生成布局开始代码。  A2. The container execution unit executes the container start tag, and calls the layout manager corresponding to the container tag to generate a layout start code.
a3、 JSP引擎调用组件执行单元执行容器标签中的组件标签的组件开始标 签。 A3, the JSP engine calls the component execution unit to execute the component start label of the component label in the container tag Sign.
a4、组件执行单元执行组件开始标签,根据该组件标签所在的容器标签获 得与该容器标签对应的布局管理器。  A4. The component execution unit executes a component start tag, and obtains a layout manager corresponding to the container tag according to the container tag where the component tag is located.
a5、 组件执行单元调用获得的布局管理器生成组件布局开始代码。  A5. The layout manager obtained by the component execution unit call generates the component layout start code.
a6、通常组件标签需要提供一定的内容, 因此组件执行单元在执行组件开 始标签时, 除了生成组件布局开始代码, 还进一步生成组件内容开始代码; 此 代码片段可以为空。 签。 。 、 、 、 a8、 组件执行单元执行组件结束标签, 通常, 可生成组件内容结束代码; 此代码片段可以为空。  A6. Usually the component tag needs to provide certain content, so when the component execution unit executes the component start tag, in addition to generating the component layout start code, the component content start code is further generated; the code segment can be empty. sign. . , , , a8, the component execution unit executes the component end tag, typically, the component content end code can be generated; this code snippet can be empty.
a9、组件执行单元在生成组件内容结束代码后,根据所执行组件标签所在 的容器标签获得与该容器标签对应的布局管理器。  A9. After generating the component content end code, the component execution unit obtains a layout manager corresponding to the container tag according to the container tag where the component tag is executed.
al0、 组件执行单元调用获得的布局管理器生成组件布局结束代码。  Al0, the layout manager obtained by the component execution unit call generates the component layout end code.
all、 JSP引擎调用容器执行单元执行容器标签的容器结束标签。  All, the JSP engine calls the container execution unit to execute the container end tag of the container tag.
al2、 容器执行单元执行容器结束标签, 调用与该容器标签对应的布局管 理器生成布局结束代码。  Al2, the container execution unit executes the container end tag, and calls the layout manager corresponding to the container tag to generate a layout end code.
在上述执行过程中, 若容器标签内部包括多个组件标签, 则对各个组件标 签重复 a3 ~ alO的步骤即可。  In the above execution process, if the container tag includes a plurality of component tags inside, the steps of a3 ~ alO are repeated for each component tag.
参考图 4, 对应于实施例一的页面控件布局方法, 本发明实施例的用于通 过 JSP标签生成 HTML代码的装置中的组件执行单元 203具体可采用如下结 构, 包括:  Referring to FIG. 4, corresponding to the page control layout method of the first embodiment, the component execution unit 203 in the apparatus for generating the HTML code by using the JSP tag in the embodiment of the present invention may specifically adopt the following structures, including:
第一开始单元 2031 , 用于根据 JSP引擎(在图 4中简记为 "引擎 ") 201 在执行组件标签的组件开始标签时的调用 , ^^据该组件标签所在的容器标签获 得与该容器标签对应的布局管理器,调用获得的布局管理器生成组件布局开始 代码。  a first start unit 2031 for invoking a call to a component of a component tag according to a JSP engine (abbreviated as "engine" in FIG. 4), and obtaining a container tag based on the container tag in which the component tag is located The layout manager corresponding to the tag calls the obtained layout manager to generate the component layout start code.
第一结束单元 2032, 用于根据 JSP引擎 201在执行组件标签的组件结束 标签时的调用, ^^据该组件标签所在的容器标签获得与该容器标签对应的布局 管理器, 调用获得的布局管理器生成组件布局结束代码。 图 4中 JSP引擎 201和容器执行单元 202可采用前述 JSP引擎 101和容器 执行单元 102的逻辑结构。 The first ending unit 2032 is configured to obtain, according to the JSP engine 201, a call when the component end tag of the component tag is executed, and obtain a layout manager corresponding to the container tag according to the container tag where the component tag is located, and invoke the obtained layout management. Generates a component layout end code. The JSP engine 201 and the container execution unit 202 of FIG. 4 can employ the logical structure of the aforementioned JSP engine 101 and container execution unit 102.
为更好的理解本发明实施例一, 下面举例进行说明。 一段 JSP文件中 JSP 标签使用的样例如下, 包括容器标签 grid、 组件标签 、 组件标签 B:  For a better understanding of the first embodiment of the present invention, the following description will be made by way of example. For example, the JSP tag used in a JSP file includes the container tag grid, the component tag, and the component tag B:
<xxx:grid><xxx:A/><xxx:B></xxx:B></xxx:grid>  <xxx:grid><xxx:A/><xxx:B></xxx:B></xxx:grid>
JSP引擎执行上述一段 JSP文件,在解析到容器标签 grid的容器开始标签 <xxx:grid>时, 容器执行单元生成布局开始代码(通过调用相应的布局管理器 生成, 简洁起见, 以下皆省略该调用描述, 不再重复说明):  The JSP engine executes the above JSP file. When parsing the container start tag <xxx:grid> of the container tag grid, the container execution unit generates a layout start code (generated by calling the corresponding layout manager. For the sake of brevity, the following is omitted. Description, no longer repeat the description):
<table>  <table>
JSP引擎在解析到组件标签 ^ :^>时(开始和结束标签合并在一起), 组件执行单元获取到其所在的容器 "grid" , 从而找到相关的布局管理器, 生成 组件布局开始代码:  When the JSP engine parses into the component tag ^ :^> (the start and end tags are merged together), the component execution unit gets its container "grid" to find the relevant layout manager, and generates the component layout start code:
<tr><td>  <tr><td>
然后执行组件标签 A生成组件标签 A自身内容的开始代码和结束代码: <input type="text" name="A" ... ></input>  Then execute the component tag A to generate the start tag and end code of the component tag A's own content: <input type="text" name="A" ... ></input>
然后组件执行单元通过布局管理器生成组件布局结束代码:  The component execution unit then generates the component layout end code through the layout manager:
</td></tr>  </td></tr>
JSP引擎在解析到组件标签 B的组件开始标签¾0«:8>时, 组件执行单元 获取到其所在的容器 "grid" , 生成组件布局开始代码以及组件标签 B的组件 内容开始代码:  When the JSP engine parses the component start tag 3⁄40«:8> of component tag B, the component execution unit gets the container "grid" to which it is located, generates the component layout start code, and the component of component tag B. Content start code:
<tr><td><input type="text" name="B".. ·>  <tr><td><input type="text" name="B".. ·>
JSP引擎在解析到组件标签 B的组件结束标签<^0«:8>时, 组件执行单元 获取到其所在的容器 "grid" , 生成组件标签 B的组件内容结束代码以及组件 布局结束代码:  When the JSP engine parses the component end tag <^0«:8> of the component tag B, the component execution unit gets the container "grid" to which it is located, generates the component content end code of the component tag B, and the component layout end code:
</input></td></tr>  </input></td></tr>
最后, JSP引擎在解析到容器标签 grid的容器结束标签<^0«:^(1>时, 容 器执行单元生成布局结束代码:  Finally, when the JSP engine parses the container end tag <^0«:^(1> of the container tag grid, the container execution unit generates a layout end code:
</table>  </table>
总的 HTML代码的输出为: <table><tr><td><input type="text" name="A" ...></input></td></tr><tr> <td><input type="text" name="B" ... ></input></td></tr></table> The output of the total HTML code is: <table><tr><td><input type="text"name="A"...></input></td></tr><tr><td><inputtype="text"Name="B" ... ></input></td></tr></table>
对应的布局效果为, 在浏览器中显示为上下两行, 组件 A在上面一行显 示, 组件 B在下面一行显示。 显然, 组件标签 B的组件内容代码也可以象组 件标签 A—样一次性输出, 例如在开始代码中输出, 则结束代码输出为空。  The corresponding layout effect is displayed in the browser as two lines, component A is displayed on the upper line, and component B is displayed on the lower line. Obviously, the component content code of component tag B can also be output once like component tag A, for example, output in the start code, then the end code output is empty.
实施例二、 一种页面控件布局方法, 与实施例一的区别在于, 组件标签中 具有不同类型的组件,每个组件需要有自己的组件布局开始代码和组件布局结 束代码。 参考图 5 , 包括如下步骤:  Embodiment 2 A page control layout method differs from the first embodiment in that component tags have different types of components, and each component needs to have its own component layout start code and component layout end code. Referring to Figure 5, the following steps are included:
bl、 JSP引擎(在图 5中简记为 "引擎")调用容器执行单元执行容器标 签的容器开始标签。  The bl, JSP engine (abbreviated as "engine" in Figure 5) calls the container execution unit to execute the container start label for the container label.
b2、容器执行单元执行容器开始标签,调用与该容器标签对应的布局管理 器生成布局开始代码。  B2. The container execution unit executes a container start tag, and calls a layout manager corresponding to the container tag to generate a layout start code.
b3、 JSP引擎调用组件执行单元执行容器标签中的组件标签的组件开始标 签。  B3. The JSP engine invokes the component execution unit to execute the component start tag of the component tag in the container tag.
b4、组件执行单元执行组件开始标签,根据该组件标签所在的容器标签获 得与该容器标签对应的布局管理器。  B4. The component execution unit executes a component start tag, and obtains a layout manager corresponding to the container tag according to the container tag where the component tag is located.
b5、 组件执行单元获取所执行组件标签中的前组件。  B5. The component execution unit acquires the front component in the executed component tag.
当一个组件标签需要负责生成多个组件的内容时,可以包含多个组件,本 实施例中按照组件的作用区分为三种类型: 前组件、 主组件、 后组件。 主组件 通常指该组件标签主要的输出内容,一般是一个,如果组件标签中具有其他嵌 套的内容, 则将作为主组件的嵌套内容, 主组件可以使用也可以不使用这些嵌 套内容。 前组件指需要输出在主组件前面的组件, 前组件可以有多个。 后组件 指需要输出在主组件后面的组件, 后组件也可以有多个。  When a component tag needs to be responsible for generating the content of multiple components, it can contain multiple components. In this embodiment, three types are classified according to the role of the component: the front component, the main component, and the rear component. The main component usually refers to the main output of the component tag, which is generally one. If there is other nested content in the component tag, it will be the nested content of the main component, and the main component may or may not use the embedded content. The front component refers to the component that needs to be output in front of the main component. There may be more than one front component. Post component refers to the component that needs to be output behind the main component. There can also be more than one rear component.
举例说明如下, 对于表单域的 "输入框" 组件标签, 可以定义 "标题"、 "输入框"、 "说明,, 三个组件, 其中 "输入框" 组件就是主组件, "标题,, 为 前组件, "说明" 为后组件。  For example, as shown in the "Input Box" component tag of a form field, you can define "Title", "Input Box", "Description", and three components, where the "Input Box" component is the main component, "Title," The component, "description" is the post component.
b6、 组件执行单元调用获得的布局管理器生成前组件布局开始代码。 b7、通常前组件需要提供一定的内容, 因此还进一步生成前组件内容开始 代码; 此代码片段可以为空。 b8、 生成前组件内容结束代码; 此代码片段可以为空。 B6. The layout manager obtained by the component execution unit call generates the pre-component layout start code. B7. Usually the pre-component needs to provide certain content, so the pre-component content start code is further generated; this code fragment can be empty. B8. Generate the pre-component content end code; this code snippet can be empty.
b9、 组件执行单元调用获得的布局管理器生成前组件布局结束代码。  B9. The layout manager obtained by the component execution unit call generates the pre-component layout end code.
若步骤 b5中获取的前组件有多个, 则对各个前组件重复 b6 ~ b9的步骤, 获得全部前组件的布局代码和内容代码。  If there are multiple pre-components obtained in step b5, repeat the steps b6 ~ b9 for each pre-component to obtain the layout code and content code of all the pre-components.
bl0、 组件执行单元调用获得的布局管理器生成主组件布局开始代码; bll、 通常主组件需要提供一定的内容, 因此还进一步生成主组件内容开 始代码; 此代码片段可以为空。 标签。  Bl0, the layout manager obtained by the component execution unit call generates the main component layout start code; bll, usually the main component needs to provide certain content, so the main component content start code is further generated; the code fragment can be empty. label.
bl3、 组件执行单元执行组件结束标签, 通常, 可生成主组件内容结束代 码; 此代码片段可以为空。  Bl3, the component execution unit executes the component end tag, usually, the main component content end code can be generated; this code fragment can be empty.
bl4、 组件执行单元在生成主组件内容结束代码后, 根据所执行组件标签 所在的容器标签获得与该容器标签对应的布局管理器。  Bl4. After generating the main component content end code, the component execution unit obtains a layout manager corresponding to the container tag according to the container tag where the executed component tag is located.
bl 5、 组件执行单元调用获得的布局管理器生成主组件布局结束代码。 bl6、 组件执行单元获取所执行组件标签中的后组件。  Bl 5, the layout manager obtained by the component execution unit call generates the main component layout end code. Bl6, the component execution unit obtains the post component in the executed component tag.
bl7、 组件执行单元调用获得的布局管理器生成后组件布局开始代码。 bl8、 通常后组件需要提供一定的内容, 因此还进一步生成后组件内容开 始代码; 此代码片段可以为空。  Bl7, the component execution unit calls the obtained layout manager to generate the post component layout start code. Bl8, usually the post component needs to provide some content, so the post component content start code is further generated; this code snippet can be empty.
bl9、 生成后组件内容结束代码; 此代码片段可以为空。  Bl9, the generated component content end code; this code snippet can be empty.
b20、 组件执行单元调用获得的布局管理器生成后组件布局结束代码。 若步骤 bl6中获取的后组件有多个, 则对各个后组件重复 bl7 ~ b20的步 骤, 获得全部后组件的布局代码和内容代码。  B20. The component execution unit calls the obtained layout manager to generate the post component layout end code. If there are multiple post-components obtained in step bl6, repeat the steps bl7 ~ b20 for each post-component to obtain the layout code and content code of all the post-components.
b21、 JSP引擎调用容器执行单元执行容器标签的容器结束标签。  B21. The JSP engine invokes the container execution unit to execute the container end tag of the container tag.
b22、 容器执行单元执行容器结束标签, 调用与该容器标签对应的布局管 理器生成布局结束代码。  B22. The container execution unit executes a container end tag, and invokes a layout manager corresponding to the container tag to generate a layout end code.
参考图 6, 对应于实施例二的页面控件布局方法, 本发明实施例的用于通 过 JSP标签生成 HTML代码的装置中的组件执行单元 303具体可采用如下结 构, 包括:  Referring to FIG. 6, corresponding to the page control layout method of the second embodiment, the component execution unit 303 in the apparatus for generating the HTML code by using the JSP tag in the embodiment of the present invention may specifically adopt the following structures, including:
第二开始单元 3031 , 用于根据 JSP引擎(在图 6中简记为 "引擎 ") 301 在执行组件标签的组件开始标签时的调用 , ^^据该组件标签所在的容器标签获 得与该容器标签对应的布局管理器; 获取该组件标签中的前组件,调用获得的 布局管理器生成前组件布局开始代码和前组件布局结束代码;调用获得的布局 管理器生成主组件布局开始代码。 a second start unit 3031 for using a JSP engine (abbreviated as "engine" in FIG. 6) 301 When the component of the component tag starts to be tagged, ^^ obtains the layout manager corresponding to the container tag according to the container tag where the component tag is located; acquires the pre-component in the component tag, and calls the obtained layout manager before generating The component layout start code and the front component layout end code; the obtained layout manager generates the main component layout start code.
第二结束单元 3032, 用于根据 JSP引擎 301在执行组件标签的组件结束 标签时的调用, ^^据该组件标签所在的容器标签获得与该容器标签对应的布局 管理器,调用获得的布局管理器生成主组件布局结束代码; 获取该组件标签中 的后组件,调用获得的布局管理器生成后组件布局开始代码和后组件布局结束 代码。  The second ending unit 3032 is configured to obtain, according to the call of the JSP engine 301 when executing the component end tag of the component tag, obtain a layout manager corresponding to the container tag according to the container tag where the component tag is located, and invoke the obtained layout management. The main component layout end code is generated; the post component in the component tag is obtained, and the obtained layout manager generates the post component layout start code and the post component layout end code.
图 6中 JSP引擎 301和容器执行单元 302可采用前述 JSP引擎 101和容器 执行单元 102的逻辑结构。  The JSP engine 301 and the container execution unit 302 in Fig. 6 can employ the logical structure of the aforementioned JSP engine 101 and container execution unit 102.
本实施例中提供了通过组件标签控制多个不同类型的组件布局的方法。 为更好的理解本发明实施例二, 下面举例进行说明。 一段 JSP文件中 JSP 标签使用的样例如下 , 包括容器标签 grid、组件标签 A, 组件标签 A将自身分 解为三个组件: 一个前组件 "label" , 一个主组件、 一个后组件 "description" :  A method of controlling a plurality of different types of component layouts by component tags is provided in this embodiment. For a better understanding of the second embodiment of the present invention, the following description will be made by way of example. For example, the JSP tag used in a JSP file includes a container tag grid and a component tag A. The component tag A breaks itself into three components: a front component "label", a main component, and a post component "description":
<xxx:grid><xxx:A label= "组件 A的标题" description= "组件 A的描述" /></xxx:grid>  <xxx:grid><xxx:A label= "Title of component A" description= "Description of component A" /></xxx:grid>
JSP引擎执行上述一段 JSP文件,在解析到容器标签 grid的容器开始标签 <xxx:grid>时, 容器执行单元生成布局开始代码:  The JSP engine executes the above JSP file. When parsing the container start tag <xxx:grid> to the container tag grid, the container execution unit generates a layout start code:
<table>  <table>
JSP引擎在解析到组件标签 A时 (开始和结束标签合并在一起 ), 组件执 行单元获取到其所在的容器 "grid" ,从而找到相关的布局管理器, 生成前组件 布局开始代码:  When the JSP engine parses into component tag A (the start and end tags are merged together), the component execution unit gets its container "grid" to find the relevant layout manager, and generates the pre-component layout start code:
<tr><td>  <tr><td>
然后, 生成前组件 "label" 的内容开始和结束代码(前组件 "label" 用来 生成标题内容, 该内容是一个单一对象):  Then, generate the content start and end code of the front component "label" (the front component "label" is used to generate the title content, which is a single object):
组件 A的标题  The title of component A
然后组件执行单元通过布局管理器生成前组件布局结束代码:  The component execution unit then generates the pre-component layout end code through the layout manager:
</td> 同理 ,组件执行单元生成主组件的布局开始代码和内容代码以及主组件的 的布局结束代码: </td> Similarly, the component execution unit generates the layout start code and content code of the main component and the layout end code of the main component:
<td><input type="text" name- ' A"...></td>  <td><input type="text" name- ' A"...></td>
然后, 生成后组件 "description" 的布局开始代码、 内容开始和结束代码 (后组件 "description"用来生成描述内容, 该内容是一个单一对象)、 布局结 束代码:  Then, the layout start code, content start and end code of the post component "description" is generated (the post component "description" is used to generate the description content, the content is a single object), and the layout end code:
<td>组件 A的描述 </td></tr>  <td> Description of component A </td></tr>
最后, JSP引擎在解析到容器标签 grid的容器结束标签<^00^1^>时, 容 器执行单元生成布局结束代码:  Finally, when the JSP engine parses the container end tag <^00^1^> of the container tag grid, the container execution unit generates a layout end code:
</table>  </table>
总的 HTML代码的输出为:  The output of the total HTML code is:
<table><tr><td>组件 A的标题 </td><td><input type="text" name="A" .. ·> </input></td> <td>组件 A的描述 </td></tr></table>  <table><tr><td>The title of component A</td><td><input type="text" name="A" .. ·> </input></td> <td>Component A Description</td></tr></table>
对应的布局效果为, 在浏览器中显示一行, 左边显示标题, 中间显示主组 件内容, 右边显示描述内容。  The corresponding layout effect is that one line is displayed in the browser, the title is displayed on the left side, the main component content is displayed in the middle, and the description content is displayed on the right side.
实施例三、 一种页面控件布局方法, 与实施例一的区别在于, 组件标签中 含有不区分类型的若干个组件,每个组件需要有自己的组件布局开始代码和组 件布局结束代码。 参考图 7, 包括如下步骤:  Embodiment 3 A page control layout method differs from Embodiment 1 in that a component tag contains a plurality of components of a distinguishable type, and each component needs to have its own component layout start code and component layout end code. Refer to Figure 7, including the following steps:
cl、 JSP引擎(在图 7中简记为 "引擎")调用容器执行单元执行容器标 签的容器开始标签。  The cl, JSP engine (abbreviated as "engine" in Figure 7) calls the container execution unit to execute the container start tag of the container tag.
c2、容器执行单元执行容器开始标签, 调用与该容器标签对应的布局管理 器生成布局开始代码。  C2. The container execution unit executes a container start tag, and calls a layout manager corresponding to the container tag to generate a layout start code.
c3、 JSP引擎调用组件执行单元执行容器标签中的组件标签的组件开始标 签, 该执行过程返回的代码可以为空。 签。 。 、 、 、 c5、组件执行单元执行组件结束标签,根据所执行组件标签所在的容器标 签获得与该容器标签对应的布局管理器。  C3. The JSP engine invokes the component execution unit to execute the component start tag of the component tag in the container tag, and the code returned by the execution process may be empty. sign. . , , , , c5, the component execution unit executes the component end tag, and obtains a layout manager corresponding to the container tag according to the container tag where the component tag is executed.
c6、 组件执行单元获取所执行组件标签中的各个组件。 当一个组件标签需要负责生成多个组件的内容时,可以包含多个组件,本 实施例中不区分组件标签中组件的类型 , 对所包含的组件进行一致的操作。 C6. The component execution unit acquires each component in the executed component tag. When a component tag needs to be responsible for generating content of multiple components, multiple components may be included. In this embodiment, the types of components in the component tags are not distinguished, and the components included are uniformly operated.
c7、 组件执行单元调用获得的布局管理器生成组件布局开始代码。  C7. The layout manager obtained by the component execution unit call generates the component layout start code.
c8、通常组件需要提供一定的内容,因此还进一步生成组件内容开始代码; 此代码片段可以为空。  C8, usually the component needs to provide certain content, so the component content start code is further generated; this code fragment can be empty.
c9、 生成组件内容结束代码; 此代码片段可以为空。  C9, generate component content end code; this code snippet can be empty.
cl0、 组件执行单元调用获得的布局管理器生成组件布局结束代码。  Cl0, the layout manager obtained by the component execution unit call generates the component layout end code.
若步骤 c6中获取的组件有多个, 则对各个组件重复 c7 ~ cl0的步骤, 获 得全部组件的布局代码和内容代码。  If there are multiple components obtained in step c6, repeat the steps of c7 ~ cl0 for each component, and obtain the layout code and content code of all components.
cll、 JSP引擎调用容器执行单元执行容器标签的容器结束标签。  Cll, the JSP engine calls the container execution unit to execute the container end tag of the container tag.
cl2、 容器执行单元执行容器结束标签, 调用与该容器标签对应的布局管 理器生成布局结束代码。  Cl2, the container execution unit executes the container end tag, and calls the layout manager corresponding to the container tag to generate a layout end code.
上述步骤中, 步骤 c5 ~ cl0也可以在执行组件开始标签的过程中进行, 这 标签时, 返回的代码可以为空。  In the above steps, steps c5 ~ cl0 can also be performed during the execution of the component start tag. When this tag is used, the returned code can be empty.
参考图 8, 对应于实施例三的页面控件布局方法, 本发明实施例的用于通 过 JSP标签生成 HTML代码的装置中的组件执行单元 403具体可采用如下结 构, 包括:  Referring to FIG. 8, corresponding to the page control layout method of the third embodiment, the component execution unit 403 in the apparatus for generating the HTML code by using the JSP tag in the embodiment of the present invention may specifically adopt the following structures, including:
第三开始单元 4031 , 用于根据 JSP引擎(在图 8中简记为 "引擎 ") 401 在执行组件标签的组件开始标签时的调用 , 执行该组件开始标签。  The third start unit 4031 is configured to execute the component start tag according to a call of the JSP engine (abbreviated as "engine" in FIG. 8) 401 when the component of the component tag is started.
第三结束单元 4032, 用于根据 JSP引擎 401在执行组件标签的组件结束 标签时的调用, ^^据该组件标签所在的容器标签获得与该容器标签对应的布局 管理器; 获取该组件标签中的各个组件; 调用获得的布局管理器分别生成各个 组件的组件布局开始代码和组件布局结束代码。  a third ending unit 4032, configured to obtain, according to the JSP engine 401, a call when the component of the component tag ends the tag, and obtain a layout manager corresponding to the container tag according to the container tag where the component tag is located; Each component of the call; the obtained layout manager separately generates the component layout start code and the component layout end code of each component.
图 8中 JSP引擎 401和容器执行单元 402可采用前述 JSP引擎 101和容器 执行单元 102的逻辑结构。  The JSP engine 401 and the container execution unit 402 in Fig. 8 can employ the logical structure of the aforementioned JSP engine 101 and container execution unit 102.
本实施例中提供了通过组件标签控制多个相同类型的组件布局的方法。 为更好的理解本发明实施例三, 下面举例进行说明。 一段 JSP文件中 JSP 标签使用的样例如下 , 包括容器标签 grid、组件标签 A, 组件标签 A将自身分 解为三个组件: "contentl " , "content2'\ "content3" : A method of controlling a plurality of component layouts of the same type by component tags is provided in this embodiment. For a better understanding of the third embodiment of the present invention, the following description will be made by way of example. For example, the JSP tag used in a JSP file includes the container tag grid, the component tag A, and the component tag A. Solved into three components: "contentl" , "content2'\ "content3" :
<xxx:grid><xxx:A list="contentl, content2, content3 "/></xxx:grid>  <xxx:grid><xxx:A list="contentl, content2, content3 "/></xxx:grid>
JSP引擎执行上述一段 JSP文件,在解析到容器标签 grid的容器开始标签 <xxx:grid>时, 容器执行单元生成布局开始代码:  The JSP engine executes the above JSP file. When parsing the container start tag <xxx:grid> to the container tag grid, the container execution unit generates a layout start code:
<table>  <table>
JSP引擎在解析到组件标签 A时(开始和结束标签合并在一起), 组件执 行单元获取到其包含的三个组件, 并获取到其所在的容器 "grid" , 从而找到相 关的布局管理器, 依次对各个组件执行如下操作:  When the JSP engine parses into the component tag A (the start and end tags are merged together), the component execution unit obtains the three components it contains and gets the container "grid" to find the relevant layout manager. Do the following for each component in turn:
生成组件 "contentX" ( 表示 1, 2, 3 ) 的组件布局开始代码:  Generate the component layout start code for the component "contentX" (representing 1, 2, 3 ):
<tr><td>, i^<td>  <tr><td>, i^<td>
然后 ,生成 "contentX"的内容开始和结束代码 (该内容是一个单一对象): contentX  Then, generate the content start and end code for "contentX" (the content is a single object): contentX
然后, 生成组件 "contentX" ( X表示 1, 2, 3 ) 的组件布局结束代码: </td>, 或 </td></tr>  Then, generate the component layout end code for the component "contentX" (X for 1, 2, 3): </td>, or </td></tr>
循环执行完所有组件后 , 结束对组件标签 A的处理。  After all the components have been executed in a loop, the processing of component label A ends.
最后, JSP引擎在解析到容器标签 grid的容器结束标签<^0«:^(1>时, 容 器执行单元生成布局结束代码:  Finally, when the JSP engine parses the container end tag <^0«:^(1> of the container tag grid, the container execution unit generates a layout end code:
</table>  </table>
总的 HTML代码的输出为: </table>  The output of the total HTML code is: </table>
对应的布局效果为, 在浏览器中显示一行三列, 第一列显示 contentl , 第 二列显示 content2 , 第三列显示 content3。  The corresponding layout effect is to display one row and three columns in the browser, the first column shows contentl, the second column shows content2, and the third column shows content3.
本发明实施例的技术方案中,使用两种不同类型的 JSP标签: 容器标签和 组件标签,将布局逻辑从组件标签中剥离出来,通过组件标签所在的容器标签 找到对应的布局管理器实现组件标签的布局;由于采用与容器标签关联的布局 管理器负责布局代码的生成,使得开发人员无需直接编写布局代码, 简化了组 件标签的开发和维护; 并且, 组件标签自身与布局逻辑无关, 可通过不同的容 器标签实现不同的布局需求,可扩展性强且使用灵活而不易出错。进一步提供 了通过组件标签控制多个相同或不同类型的组件布局的方法,能够支持更灵活 的应用方式。 In the technical solution of the embodiment of the present invention, two different types of JSP tags are used: a container tag and a component tag, the layout logic is stripped from the component tag, and the corresponding layout manager implementation component tag is found through the container tag where the component tag is located. Layout; because the layout manager associated with the container tag is responsible for the generation of the layout code, the developer does not need to directly write the layout code, which simplifies the development and maintenance of the component tag; and, the component tag itself is independent of the layout logic, and can be different. Container tags implement different layout requirements, are scalable, flexible, and error-prone. Further provision A method of controlling multiple or different types of component layouts through component tags can support more flexible application methods.
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步 骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读 存储介质中, 存储介质可以包括: ROM、 RAM, 磁盘或光盘等。  A person skilled in the art may understand that all or part of the various steps of the foregoing embodiments may be completed by a program instructing related hardware. The program may be stored in a computer readable storage medium, and the storage medium may include: ROM, RAM, disk or CD, etc.
以上对本发明实施例所提供的页面控件布局方法和相应的装置进行了详 实施例的说明只是用于帮助理解本发明的方法及其核心思想; 同时,对于本领 域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有 改变之处, 综上所述, 本说明书内容不应理解为对本发明的限制。  The foregoing detailed description of the page control layout method and corresponding apparatus provided by the embodiments of the present invention is only for helping to understand the method of the present invention and its core ideas; meanwhile, for those skilled in the art, according to the present invention The scope of the present invention is not limited by the scope of the present invention.

Claims

OP080518 WO 2009/082900 PCT/CN2008/072465 - 16- 权 利 要 求 OP080518 WO 2009/082900 PCT/CN2008/072465 - 16- Claims
1、 一种页面控件布局方法, 其特征在于, 包括:  A page control layout method, comprising:
执行容器标签的容器开始标签, 包括,调用与所述容器标签对应的布局管 理器生成布局开始代码;  Executing a container start tag of the container tag, comprising: calling a layout manager corresponding to the container tag to generate a layout start code;
执行所述容器标签中的组件标签, 包括,根据所述组件标签所在的容器标 签获得与所述容器标签对应的布局管理器,调用所述布局管理器生成与所述组 件标签关联的组件布局开始代码和组件布局结束代码;  Executing the component tag in the container tag, comprising: obtaining a layout manager corresponding to the container tag according to the container tag where the component tag is located, invoking the layout manager to generate a component layout associated with the component tag Code and component layout end code;
执行所述容器标签的容器结束标签, 包括,调用与所述容器标签对应的布 局管理器, 生成布局结束代码。  Executing the container end tag of the container tag includes invoking a layout manager corresponding to the container tag to generate a layout end code.
2、 根据权利要求 1所述的页面控件布局方法, 其特征在于:  2. The page control layout method according to claim 1, wherein:
所述执行容器标签的容器开始标签还包括,在生成布局开始代码后, 生成 单一对象的容器内容代码; 或者,  The container start tag of the execution container tag further includes: generating a container content code of the single object after generating the layout start code; or
所述执行容器标签的容器结束标签还包括, 生成单一对象的容器内容代 码, 然后再执行所述调用布局管理器的操作; 或者,  The container end tag of the execution container tag further includes: generating a container content code of the single object, and then performing the operation of calling the layout manager; or
所述执行容器标签的容器开始标签还包括,在生成布局开始代码后, 生成 容器内容开始代码; 所述执行容器标签的容器结束标签还包括, 生成容器内容 结束代码, 然后再执行所述调用布局管理器的操作。  The container start tag of the execution container tag further includes: after generating the layout start code, generating a container content start code; the executing the container end tag of the container tag further includes: generating a container content end code, and then executing the call layout Manager operation.
3、 根据权利要求 1所述的页面控件布局方法, 其特征在于: 所述容器标 签中包括一个以上的组件标签,在所述执行容器开始标签和执行容器结束标签 的步骤之间, 分别执行各个组件标签。  3. The page control layout method according to claim 1, wherein: the container tag includes one or more component tags, and each of the steps of executing the container start tag and executing the container end tag respectively Component label.
4、 根据权利要求 1所述的页面控件布局方法, 其特征在于:  4. The page control layout method according to claim 1, wherein:
所述执行容器标签中的组件标签还包括,在生成组件布局开始代码和组件 布局结束代码的步骤之间, 生成组件内容代码, 所述组件内容代码为单一对象 的组件内容代码或由组件内容开始代码和组件内容结束代码组成。  The component tag in the execution container tag further includes, between the step of generating the component layout start code and the component layout end code, generating the component content code, the component content code being a component content code of a single object or starting from the component content The code and component content end code are composed.
5、 根据权利要求 1 ~ 3任意一项所述的页面控件布局方法, 其特征在于, 所述调用布局管理器生成与组件标签关联的组件布局开始代码和组件布局结 束代码具体为:  The page control layout method according to any one of claims 1 to 3, wherein the calling layout manager generates a component layout start code and a component layout end code associated with the component tag as follows:
执行所述组件标签的组件开始标签, 包括,根据所述组件标签所在的容器 标签获得与所述容器标签对应的布局管理器,调用所述布局管理器生成组件布 OP080518 Executing a component start tag of the component tag, including: obtaining a layout manager corresponding to the container tag according to the container tag where the component tag is located, calling the layout manager to generate a component cloth OP080518
WO 2009/082900 PCT/CN2008/072465  WO 2009/082900 PCT/CN2008/072465
- 17- 局开始代码; - 17- Bureau start code;
执行所述组件标签的组件结束标签, 包括,根据所述组件标签所在的容器 标签获得与所述容器标签对应的布局管理器,调用所述布局管理器生成组件布 局结束代码。  Executing the component end tag of the component tag includes: obtaining a layout manager corresponding to the container tag according to the container tag where the component tag is located, and calling the layout manager to generate a component layout end code.
6、 根据权利要求 5所述的页面控件布局方法, 其特征在于:  6. The page control layout method according to claim 5, wherein:
所述执行组件标签的组件开始标签还包括, 在生成组件布局开始代码后 , 生成单一对象的组件内容代码; 或者,  The component start tag of the execution component tag further includes: generating a component content code of the single object after generating the component layout start code; or
所述执行组件标签的组件结束标签还包括, 生成单一对象的组件内容代 码, 然后再执行所述获得布局管理器的操作; 或者,  The component end tag of the execution component tag further includes: generating a component content code of the single object, and then performing the operation of obtaining the layout manager; or
所述执行组件标签的组件开始标签还包括, 在生成组件布局开始代码后, 生成组件内容开始代码; 所述执行组件标签的组件结束标签还包括, 生成组件 内容结束代码, 然后再执行所述获得布局管理器的操作。  The component start tag of the execution component tag further includes: after generating the component layout start code, generating a component content start code; the component end tag of the execution component tag further includes: generating a component content end code, and then performing the obtaining The operation of the layout manager.
7、 根据权利要求 1 ~ 3任意一项所述的页面控件布局方法, 其特征在于, 所述组件标签中包括三种类型的组件: 前组件、 主组件、 后组件; 所述组件布 局开始和结束代码包括该三种类型的组件的布局开始和结束代码;所述调用布 局管理器生成与组件标签关联的组件布局开始代码和组件布局结束代码具体 为:  The page control layout method according to any one of claims 1 to 3, wherein the component tag includes three types of components: a front component, a main component, and a rear component; The end code includes layout start and end codes for the three types of components; the call layout manager generates a component layout start code and a component layout end code associated with the component tag specifically as:
执行所述组件标签的组件开始标签, 包括,根据所述组件标签所在的容器 标签获得与所述容器标签对应的布局管理器; 获取所述组件标签中的前组件 , 调用所述布局管理器生成前组件布局开始代码和前组件布局结束代码;调用所 述布局管理器生成主组件布局开始代码;  Executing a component start tag of the component tag, comprising: obtaining a layout manager corresponding to the container tag according to the container tag where the component tag is located; acquiring a front component in the component tag, calling the layout manager to generate a front component layout start code and a front component layout end code; calling the layout manager to generate a main component layout start code;
执行所述组件标签的组件结束标签, 包括,根据所述组件标签所在的容器 标签获得与所述容器标签对应的布局管理器,调用所述布局管理器生成主组件 布局结束代码; 获取所述组件标签中的后组件,调用所述布局管理器生成后组 件布局开始代码和后组件布局结束代码。  Executing a component end tag of the component tag, comprising: obtaining a layout manager corresponding to the container tag according to the container tag where the component tag is located, calling the layout manager to generate a main component layout end code; acquiring the component The post component in the tag calls the layout manager to generate the post component layout start code and the post component layout end code.
8、 根据权利要求 7所述的页面控件布局方法, 其特征在于:  8. The page control layout method according to claim 7, wherein:
所述执行组件标签的组件开始标签还包括,在生成前组件布局开始代码和 前组件布局结束代码的步骤之间,生成单一对象的前组件内容代码或分别生成 前组件内容开始代码和前组件内容结束代码; 和 /或, OP080518 The component start tag of the execution component tag further includes: generating a pre-component content code of the single object or separately generating the pre-component content start code and the pre-component content between the steps of generating the pre-component layout start code and the pre-component layout end code End code; and/or, OP080518
WO 2009/082900 PCT/CN2008/072465  WO 2009/082900 PCT/CN2008/072465
- 18- 所述执行组件标签的组件结束标签还包括,在生成后组件布局开始代码和 后组件布局结束代码的步骤之间,生成单一对象的后组件内容代码或分别生成 后组件内容开始代码和后组件内容结束代码; 和 /或, The component end tag of the execution component tag further includes, after the step of generating the post component layout start code and the post component layout end code, generating a post component content code of the single object or separately generating the post component content start code and Post component end code; and/or,
所述执行组件标签的组件开始标签还包括, 在生成主组件布局开始代码 后, 生成单一对象的主组件内容代码; 或者, 所述执行组件标签的组件结束标 签还包括, 生成单一对象的主组件内容代码, 然后再执行所述获得布局管理器 的操作; 或者, 所述执行组件标签的组件开始标签还包括, 在生成组件布局开 始代码后生成主组件内容开始代码, 所述执行组件标签的组件结束标签还包 括, 生成主组件内容结束代码然后再执行所述获得布局管理器的操作。  The component start tag of the execution component tag further includes: generating a main component content code of the single object after generating the main component layout start code; or: the component end tag of the execution component tag further includes: generating a main component of the single object a content code, and then performing the operation of obtaining the layout manager; or, the component start tag of the execution component tag further includes: generating a main component content start code after generating the component layout start code, the component of the execution component tag The closing tag further includes generating a main component content end code and then performing the operation of obtaining the layout manager.
9、 根据权利要求 7所述的页面控件布局方法, 其特征在于:  9. The page control layout method according to claim 7, wherein:
所述获取组件标签中的前组件的步骤中,获取的前组件为一个以上,分别 生成各个前组件的前组件布局开始代码和前组件布局结束代码,然后再执行所 述生成主组件布局开始代码的步骤; 和 /或,  In the step of acquiring the front component in the component tag, the obtained front component is more than one, and the front component layout start code and the front component layout end code of each front component are respectively generated, and then the generated main component layout start code is executed. Steps; and/or,
所述获取组件标签中的后组件的步骤中,获取的后组件为一个以上,分别 生成各个后组件的后组件布局开始代码和后组件布局结束代码。  In the step of obtaining the post component in the component tag, the obtained post component is more than one, and the post component layout start code and the post component layout end code of each post component are respectively generated.
10、根据权利要求 1 ~ 3任意一项所述的页面控件布局方法,其特征在于, 所述组件标签中包括一个或一个以上的组件;所述调用布局管理器生成与组件 标签关联的组件布局开始代码和组件布局结束代码具体为:  The page control layout method according to any one of claims 1 to 3, wherein the component tag includes one or more components; the calling layout manager generates a component layout associated with the component tag. The start code and component layout end code are specifically:
执行所述组件标签的组件开始标签;  Executing a component start tag of the component tag;
执行所述组件标签的组件结束标签, 包括,根据所述组件标签所在的容器 标签获得与所述容器标签对应的布局管理器; 获取所述组件标签中的各个组 件;调用所述布局管理器分别生成各个组件的组件布局开始代码和组件布局结 束代码。  Executing a component end tag of the component tag, comprising: obtaining a layout manager corresponding to the container tag according to the container tag where the component tag is located; acquiring each component in the component tag; calling the layout manager respectively Generate component layout start code and component layout end code for each component.
11、 根据权利要求 10所述的页面控件布局方法, 其特征在于:  11. The page control layout method according to claim 10, wherein:
所述执行组件标签的组件结束标签还包括,在生成各个组件的组件布局开 始代码和组件布局结束代码的步骤之间,生成单一对象的组件内容代码或分别 生成组件内容开始代码和组件内容结束代码。  The component end tag of the execution component tag further includes: generating a component content code of the single object or separately generating the component content start code and the component content end code between the steps of generating the component layout start code and the component layout end code of each component .
12、 一种用于通过 Java服务页面标签生成超文本置标语言代码的装置, 其特征在于, 包括 Java服务页面引擎、 容器执行单元和组件执行单元; OP080518 12. An apparatus for generating a hypertext markup language code by a Java service page tag, comprising: a Java service page engine, a container execution unit, and a component execution unit; OP080518
WO 2009/082900 PCT/CN2008/072465  WO 2009/082900 PCT/CN2008/072465
- 19- 所述 Java服务页面引擎, 用于执行 Java服务页面文件, 在执行到容器标 签时调用所述容器执行单元进行执行,在执行到组件标签时,调用所述组件执 行单元进行执行; The Java service page engine is configured to execute a Java service page file, and when the container tag is executed, the container execution unit is called to perform execution, and when the component tag is executed, the component execution unit is called to perform execution;
所述容器执行单元, 具有获取布局管理器的接口, 用于: 根据所述 Java 服务页面引擎在执行容器标签的容器开始标签时的调用 ,调用与所述容器标签 对应的布局管理器生成布局开始代码; 根据所述 Java服务页面引擎在执行容 器标签的容器结束标签时的调用 ,调用与所述容器标签对应的布局管理器生成 布局结束代码;  The container execution unit has an interface for obtaining a layout manager, configured to: according to the call of the Java service page engine when executing a container start label of the container label, invoke a layout manager corresponding to the container label to generate a layout start a code; according to the call of the Java service page engine when executing the container end tag of the container tag, calling a layout manager corresponding to the container tag to generate a layout end code;
所述组件执行单元, 具有获取布局管理器的接口, 用于: 根据所述 Java 服务页面引擎在执行组件标签时的调用 ,根据所述组件标签所在的容器标签获 得与所述容器标签对应的布局管理器,调用所述布局管理器生成与所述组件标 签关联的组件布局开始代码和组件布局结束代码。  The component execution unit has an interface for obtaining a layout manager, configured to: obtain, according to the call of the Java service page engine when executing the component label, a layout corresponding to the container label according to the container label where the component label is located a manager that invokes the layout manager to generate a component layout start code and a component layout end code associated with the component tag.
13、 根据权利要求 12所述的装置, 其特征在于: 所述容器执行单元还具 有设置布局管理器的接口; 所述容器执行单元还用于, 根据所述 Java服务页 面引擎在执行容器标签时的调用,对与所述容器标签对应的布局管理器进行设 置。  13. The apparatus according to claim 12, wherein: the container execution unit further has an interface for setting a layout manager; the container execution unit is further configured to: when the container label is executed according to the Java service page engine The call to the layout manager corresponding to the container tag.
14、根据权利要求 12或 13所述的装置, 其特征在于, 所述组件执行单元 包括:  The device according to claim 12 or 13, wherein the component execution unit comprises:
第一开始单元, 用于根据所述 Java服务页面引擎在执行组件标签的组件 开始标签时的调用 ,根据所述组件标签所在的容器标签获得与所述容器标签对 应的布局管理器, 调用所述布局管理器生成组件布局开始代码;  a first start unit, configured to: according to the call of the Java service page engine when executing a component start tag of the component tag, obtain a layout manager corresponding to the container tag according to the container tag where the component tag is located, and invoke the The layout manager generates a component layout start code;
第一结束单元, 用于根据所述 Java服务页面引擎在执行组件标签的组件 结束标签时的调用,根据所述组件标签所在的容器标签获得与所述容器标签对 应的布局管理器, 调用所述布局管理器生成组件布局结束代码。  a first ending unit, configured to: according to the call of the Java service page engine when executing a component end tag of the component tag, obtain a layout manager corresponding to the container tag according to the container tag where the component tag is located, and invoke the The layout manager generates a component layout end code.
15、根据权利要求 12或 13所述的装置, 其特征在于, 所述组件执行单元 包括:  The device according to claim 12 or 13, wherein the component execution unit comprises:
第二开始单元, 用于根据所述 java服务页面引擎在执行组件标签的组件 开始标签时的调用, 据所述组件标签所在的容器标签获得与所述容器标签对 应的布局管理器; 获取所述组件标签中的前组件,调用所述布局管理器生成前 OP080518 a second start unit, configured to obtain, according to the call of the java service page engine when the component of the component tag is started, obtain a layout manager corresponding to the container tag according to the container tag where the component tag is located; The front component in the component tag, before calling the layout manager OP080518
WO 2009/082900 PCT/CN2008/072465  WO 2009/082900 PCT/CN2008/072465
-20- 组件布局开始代码和前组件布局结束代码;调用所述布局管理器生成主组件布 局开始代码; -20- component layout start code and front component layout end code; calling the layout manager to generate a main component layout start code;
第二结束单元, 用于根据所述 java服务页面引擎在执行组件标签的组件 结束标签时的调用,根据所述组件标签所在的容器标签获得与所述容器标签对 应的布局管理器,调用所述布局管理器生成主组件布局结束代码; 获取所述组 件标签中的后组件,调用所述布局管理器生成后组件布局开始代码和后组件布 局结束代码。 a second ending unit, configured to: according to the call of the java service page engine when executing the component end tag of the component tag, obtain a layout manager corresponding to the container tag according to the container tag where the component tag is located, and invoke the location The layout manager generates a main component layout end code; acquires a post component in the component tag, and calls the layout manager to generate a post component layout start code and a post component layout end code.
16、根据权利要求 12或 13所述的装置, 其特征在于, 所述组件执行单元 包括:  The device according to claim 12 or 13, wherein the component execution unit comprises:
第三开始单元, 用于根据所述 Java服务页面引擎在执行组件标签的组件 开始标签时的调用, 执行所述组件开始标签;  a third start unit, configured to execute the component start tag according to the call of the Java service page engine when executing a component start tag of the component tag;
第三结束单元, 用于根据所述 Java服务页面引擎在执行组件标签的组件 结束标签时的调用,根据所述组件标签所在的容器标签获得与所述容器标签对 应的布局管理器; 获取所述组件标签中的各个组件; 调用所述布局管理器分别 生成各个组件的组件布局开始代码和组件布局结束代码。  a third ending unit, configured to obtain, according to the call of the Java service page engine when executing a component end tag of the component tag, obtaining a layout manager corresponding to the container tag according to the container tag where the component tag is located; Each component in the component tag; invokes the layout manager to generate a component layout start code and a component layout end code of each component.
PCT/CN2008/072465 2007-12-29 2008-09-23 Page component layout method and device WO2009082900A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200710307876.0 2007-12-29
CN2007103078760A CN101470591B (en) 2007-12-29 2007-12-29 Method and apparatus for producting hyper text markup language code through Java service page label

Publications (1)

Publication Number Publication Date
WO2009082900A1 true WO2009082900A1 (en) 2009-07-09

Family

ID=40823774

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/072465 WO2009082900A1 (en) 2007-12-29 2008-09-23 Page component layout method and device

Country Status (2)

Country Link
CN (1) CN101470591B (en)
WO (1) WO2009082900A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103500098B (en) * 2013-09-29 2017-03-29 迈普通信技术股份有限公司 The method and system of label assembly under encapsulation JSP
CN103927345B (en) * 2014-03-28 2017-09-29 迈普通信技术股份有限公司 A kind of nested method and device of JSP labels
CN105653750A (en) * 2014-12-03 2016-06-08 航天科工仿真技术有限责任公司 Realization method for assembly layout in human computer interface 3D designing system
CN106560805A (en) * 2015-10-01 2017-04-12 曹蕾 Page layout method of WYSIWYG document editor based on HTML standard
CN110515609B (en) * 2018-05-22 2023-08-15 阿里巴巴集团控股有限公司 Application generation method, device, equipment and storage medium
CN110413921B (en) * 2019-06-21 2022-08-30 深圳壹账通智能科技有限公司 Webpage loading method and device, computer equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001088762A2 (en) * 2000-05-16 2001-11-22 Open Market, Inc. Distributed dynamic web page caching system
CN1450455A (en) * 2003-04-25 2003-10-22 清华大学 Method for forming user's interface in embedded type equipment
US20060259868A1 (en) * 2005-04-25 2006-11-16 Hirschberg Peter D Providing a user interface
CN1987783A (en) * 2005-12-20 2007-06-27 国际商业机器公司 System and method for emulating server pages

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100346304C (en) * 2003-01-24 2007-10-31 Bea系统公司 XML types in java
US7389517B2 (en) * 2003-12-19 2008-06-17 Rce Emergis, Inc. Method and system for creating and providing a multi-tier network service using separated function and presentation components

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001088762A2 (en) * 2000-05-16 2001-11-22 Open Market, Inc. Distributed dynamic web page caching system
CN1450455A (en) * 2003-04-25 2003-10-22 清华大学 Method for forming user's interface in embedded type equipment
US20060259868A1 (en) * 2005-04-25 2006-11-16 Hirschberg Peter D Providing a user interface
CN1987783A (en) * 2005-12-20 2007-06-27 国际商业机器公司 System and method for emulating server pages

Also Published As

Publication number Publication date
CN101470591A (en) 2009-07-01
CN101470591B (en) 2011-11-02

Similar Documents

Publication Publication Date Title
US8799353B2 (en) Scope-based extensibility for control surfaces
US8161498B2 (en) Providing globalization functionalities for javascript applications
US8775926B2 (en) Stylesheet conversion engine
TWI451335B (en) Device of webkit browser and associated method of loading homapage content
KR101688339B1 (en) Pre-processing of scripts in web browsers
JP4090040B2 (en) Method and system for creating a two-way multimodal dialogue and related browsing mechanism
WO2009082900A1 (en) Page component layout method and device
CN101122921B (en) Method forming tree-shaped display structure based on ajax and html
CN104461484B (en) The implementation method and device of front-end template
US8954869B2 (en) Generating a front end graphical user interface for a plurality of text based commands
CN106126249B (en) It is a kind of to realize behavior, data, the method and system of view linkage in front end
CN106354873B (en) Webpage loading method, device and system
CN102737128B (en) Dynamic webpage processing device based on browser
US20070204216A1 (en) System and method for creating layouts using a layout editor
US7613696B2 (en) Configuring search results using a layout editor
US11734028B2 (en) Modifying readable and focusable elements on a page during execution of automated scripts
CN107577509A (en) A kind of method, terminal and computer-readable recording medium for loading application interface
WO2010091623A1 (en) Apparatus and method for dynamically generating application program interface
CN108304172A (en) A kind of web development approaches and web develop engine
WO2011029252A1 (en) Method and device for fast generating network web page based on data definition
WO2013097799A1 (en) Method and device for processing template file
WO2021249356A1 (en) Form data verification method, system, server, and user terminal
US20030122869A1 (en) Emulating advanced graphical user interface elements in a hypermedia content browser
US20150087277A1 (en) Method and apparatus for calling an extension
CN105683957A (en) Style sheet speculative preloading

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08800954

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08800954

Country of ref document: EP

Kind code of ref document: A1