Rumah Java javaTutorial 在Struts中使用Tiles框架

在Struts中使用Tiles框架

Dec 17, 2016 am 10:50 AM


  这是Jakarta Struts编程一书中使用 Tiles框架系列的第三部分,主要阐述了如何使用标记库(包括:insert, definition, put, putList, add, get, getAsString, useAttribute, importAttribute, and initComponentDefinitions).
  
  Tiles标记库(The Tiles Tag Library)
  这一部分介绍Tiles 框架使用的jsp自定义标记。表14-1列出了框架可用的标记 。这些标记与其他一些基于模板的框架所提供的标记是非常相似的,但是Tiles框架中蕴含着更丰富的功能。
  
  表 14-1: Tiles框架标记库中的标记
  
  标记名(Tag name)           描述(Description)
  Add     增加一个元素到环境列表中。
  definition     创建一个Tiles组件定义。
  Get     从请求作用域中得到内容(content),这个内容是put 标
  记所置入的。
  GetAsString    传递tile/component/template属性指定的值到当前的
  JspWriter中。
  importAttribute 引入一个Tiles属性到指定的上下文(context)中;
  initComponentDefinitions  初始化一个Tiles定义工厂。
  Insert      插入一个Tiles组件。
  Put      设置一个属性到一个Tiles上下文中。
  PutList       声明一个列表,这个列表作为一个属性被传递。
  useAttribute    在页面中使用一个属性值。
  
  insert 标记
  insert 标记是负责页面中插入内容。在一个Tiles布局中, insert标记使用属性值指定的内容。在非Tile布局中,insert标记是用来获得一个框架(layout)并且使用put 标记把内容传递给布局中。
  表14-2列出insert 标记的属性:
  
  表 14-2:insert 标记的属性
  
  属性名(Attribute name)      描述(Description)
  attribute      当前Tiles /组件上下文的属性名称,这个属性值是由name 属性来传递的。
  beanName    Bean 的名称作为值来使用.Bean是从指定的内容中获得。
  假如有的话,Bean可以从指定的上下文中获得。否则就得使用pageContext.findAttribute( ) 方法获得。 假如beanPRoperty 属性已经指定,也可以从相应Bean属性中获得这个值 。
  假如,这个Bean(或Bean的属性值)是某个属性类(Direct, Instance,等等)的实例, 那么插入过程要依照类的类型而定。另外,调用Bean 的toString( ) 方法,并返回值为String,并传给name属性。
  beanProperty  Bean 属性(property)的名字,假如指定,那么这个值从
  Bean的属性(property)中获得.
  beanScope    Bean的作用范围,假如没有指定, pageContext.findAttribute( ) 方法可以使用。Bean的范围可以是任何的JSP, 组件(component),或者模板(template)。在后两者情况(组件,模板),bean 可以在 Tiles (tile)/组件(component)/模板(template)内容中
  component    一个描述tile 或者 模板(template)URI的字符串. 模板(template),页(page)和 组件(component)属性必须有严格相同的行为
  controllerUrl   在页被插入前,控制器(controller)的直接URI 。 这个URI通常用来指示一个strUCt action. 这个控制器(action) 是用来为inserted tile 预备数据的。只能有 一个controllerUrl 或 controllerClass
  controllerClass 页面(page)被插入前,直接调用的一种控制(control)类的类型。这个类是用来为inserted tile 预备数据的。只能有 一个controllerUrl 或 controllerClass 。这个类实现或扩展下列类之一:org.apache.struts.tiles.Controller, org.apache.struts.tiles.ControllerSupport,或org.apache.struts.action.Action.
  definition     Insert定义的名称。定义在一个集中的文件中被定义。现在,仅仅一个工厂(factory)的定义可以用这个属性插入。插入一个用definition定义的定义,用beanName="".
  flush     true 或者 false. 假如true, 当前页会在tile insertion.前输出流
  ignore     假如这个属性设置为 true 并且name所指定的属性不存在的话,仅仅会返回一个什么都没有写得结果。初始值设置为false,可以抛出一个 runtime exception
  name    一个要被插入得实体(entity)的名字。查找按照下面的顺序 definition, attribute, 然后 page.
  page    一个表示tile 或者 template 的URI字符串。template,page, 和 component 属性要严格的有同样的行为
  role    假如用户是指定的角色,那么这个标记才会起作用,否则,这个标记会被忽略掉,并且不会写出任何内容。
  template    一个表示tile 或者 template 的URI字符串。template,page, 和 component 属性要严格的有同样的行为
  
  definition 标签
  definition 标签用bean的定义方法创建一个tile (template),这个新创建的bean在requested scope用一个id来标识。definition 标签的有些语法和insert 一样。新的定义可以扩展在definition factory (xml file)中已经描述过的定义,并且可以重载以前定义的参数。
  
  Table 14-3 列出了definition 标签支持的属性
  
  属性名   描述
  extends 可以用来扩展的父定义,这个父定义在definitions factory被定义了。
  id 定义bean的名称,这个属性是必需的
  page 要插入template/component 的URL 。和template.一样。
  role 在插入一个定义前,进行检查role.假如当前用户并没有定义这个role,那么这个定义将不会被插入。再插入的时候进行检查,而不是在定义的时候。
  scope 在新定义bean 的时候被创建。假如没有指定,默认值是page scope.
  template tile/component/template (a JSP page)的URL .
  下面的片断展示了如何在JSP中使用definition标签。
  
    id="storefront.default"
  page="/layouts/storefrontDefaultLayout.jsp"
  scope="request">
  
  
  
  
  
  一个完整的例子将在这章后面的"Declaring Definitions in a JSP Page" 中展示
  
  put 标签
  put 标签用来传递属性到一个tile 组件。 这个标签只能在insert 或 definition 标签内部使用。 put标签的值被value 属性或者标签体指定。也经常被指定值得类型。
  string: 文如其名
  page 或template: 内容包含指定的URL. 名字通常以URL用.
  definition: 内容从指定(from factory)的定义获得. 名字以已定义的名字使用。假如type 已经使用, 他就会被get 或 insert 标签插入到tile. 假如type 属性没有被指定,则内容是不确定的untyped,除非它来自一个typed bean.
  提示: Setting direct="true" 与setting type="string" 是相同的.
  
  Table 14-4 列出了put 标签的属性。
  
  属性名     描述
  beanName    Bean 的名称,和值(value)的使用方法一样.Bean是从非凡的内容中获得。假如有的话,还可以用pageContext.findAttribute( ) 方法获得。 假如beanProperty 属性已经指定,可以从相应Bean属性中获得这个值 。
  beanProperty  Bean 属性(property)的名字,假如指定,那么这个值从Bean的属性(property)中获得.
  beanScope    Bean的作用范围,假如没有指定,pageContext.findAttribute( ) 方法可以使用。Bean的范围可以是任何的JSP, 组件(component),或者模板(template)。在后两者情况(组件,模板),bean 可以在 Tiles (tile)/组件(component)/模板(template) 内容中
  content     Content 在tile 范围内。 属性相当于value 属性,增加是为了于JSP template tags 兼容。.
  Direct     Content的控制方法: true意味着Content直接显示; false意味着content 被包含。 false 是默认值。也是指定content 类型的一种方法。假如 direct="true", content是 "string"; 假如 direct="false", content 是 "page".增加这个属性是为了于JSP template tags 兼容。.
  Name     属性的名称(name).
  Role     假如用户是指定的角色,那么这个标记才会起作用,否则,这个标记会被忽略掉,并且不会写出任何内容。
  Type     content 的类型(type)。有效值是"string", "page", "template", 或 "definition".
  value     属性的值,可以是String 或者 Object. 值是直接被分配的。 (value="avalue") 或者从一个bean 获得。一个value, content, 或 beanName 一定存在。
  putList 标签
  putList 标签建立一个list,在 tile 中以值传递。 list 元素用add 标签增加。这个标签只能在insert 或definition 标签中使用。
  
  Table 14-5 列出putList 标签的属性。
  
  属性名 描述
  Name List 的名称。这个属性是被要求的。
  
  add 标签
  add 标签是增加一个element 到四周的list 中。这个标签只能在putList 标签中使用。这个值可以直接被分配。 (value="avalue") 或者从一个bean中获得。 一个value 或beanName 必须被指定。
  
  Table 14-6 列出 add 标签的属性。
  
  属性名      描述
  beanName       Bean 的名称,和值(value)的使用方法一样.Bean是从非凡的内容中获得。假如有的话,还可以用pageContext.find 

 以上就是在Struts中使用Tiles框架的内容,更多相关文章请关注PHP中文网(www.php.cn)! 


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Perbincangan mendalam tentang prinsip dan amalan rangka kerja Struts Perbincangan mendalam tentang prinsip dan amalan rangka kerja Struts Feb 18, 2024 pm 06:10 PM

Analisis prinsip dan penerokaan praktikal rangka kerja Struts Sebagai rangka kerja MVC yang biasa digunakan dalam pembangunan JavaWeb, rangka kerja Struts mempunyai corak reka bentuk dan skalabiliti yang baik dan digunakan secara meluas dalam pembangunan aplikasi peringkat perusahaan. Artikel ini akan menganalisis prinsip rangka kerja Struts dan menerokanya dengan contoh kod sebenar untuk membantu pembaca memahami dan menggunakan rangka kerja itu dengan lebih baik. 1. Analisis prinsip rangka kerja Struts 1. Seni bina MVC Rangka kerja Struts adalah berdasarkan MVC (Model-View-Con

Analisis prinsip kerja rangka kerja Struts2 Analisis prinsip kerja rangka kerja Struts2 Jan 05, 2024 am 08:29 AM

Meneroka mekanisme dalaman rangka kerja Struts2 Struts2 ialah rangka kerja aplikasi JavaWeb yang popular yang digunakan secara meluas untuk membangunkan aplikasi Web berdasarkan seni bina MVC. Ia telah membuat banyak penambahbaikan dan pengoptimuman berdasarkan Struts1, menyediakan fungsi yang lebih berkuasa dan fleksibel. Sebelum kita menyelidiki kerja dalaman rangka kerja Struts2, kita perlu memahami beberapa konsep asas. Teras rangka kerja Struts2 ialah MVC (Model-View-Controlle

Pembangunan backend Java: Pembangunan rangka kerja API MVC menggunakan Java Apache Struts Pembangunan backend Java: Pembangunan rangka kerja API MVC menggunakan Java Apache Struts Jun 17, 2023 am 10:03 AM

Dengan populariti Internet dan peranti mudah alih pintar, pembangunan aplikasi web menjadi semakin penting. Sebagai bahasa pengaturcaraan merentas platform yang sangat baik, Java digemari oleh pembangun. Dalam pembangunan back-end Java, menggunakan rangka kerja MVC boleh membantu kami meningkatkan kecekapan pembangunan dan mengurangkan kos pembangunan. Artikel ini akan memperkenalkan pembangunan rangka kerja MVC API menggunakan JavaApacheStruts. 1. Rangka kerja MVC MVC (Model-View-Contro

Apakah prinsip dan aplikasi rangka kerja tupang? Apakah prinsip dan aplikasi rangka kerja tupang? Jan 03, 2024 pm 05:31 PM

Prinsip rangka kerja struts: Dengan menggunakan teknologi Java Servlet/JSP, rangka kerja aplikasi berdasarkan corak reka bentuk MVC bagi aplikasi Web Java EE dilaksanakan. Ia menggunakan satu atau lebih kelas Tindakan untuk memproses permintaan pengguna dan mengembalikan hasilnya kepada pengguna . Penggunaan rangka kerja struts: 1. Membina aplikasi Web; 2. Memproses data borang; 3. Mengintegrasikan perpustakaan pihak ketiga;

Pengenalan kepada rangka kerja Struts dalam bahasa Java Pengenalan kepada rangka kerja Struts dalam bahasa Java Jun 10, 2023 pm 08:00 PM

Pengenalan kepada Rangka Kerja Struts dalam Bahasa Java Dengan populariti aplikasi Web secara beransur-ansur, seperti tapak web Web dan sistem aplikasi perusahaan, seni bina JavaEE (Edisi Perusahaan) secara beransur-ansur menjadi pilihan arus perdana. Dalam seni bina JavaEE, disebabkan kepopularan corak reka bentuk MVC (Model-View-Controller), rangka kerja Struts telah menjadi salah satu rangka kerja aplikasi web yang biasa digunakan. Dalam artikel ini, kita akan melihat lebih dekat

Analisis terperinci prinsip pelaksanaan rangka kerja Struts2 Analisis terperinci prinsip pelaksanaan rangka kerja Struts2 Feb 21, 2024 pm 05:54 PM

Analisis terperinci tentang prinsip pelaksanaan rangka kerja Struts2 Sebagai rangka kerja aplikasi JavaWeb yang digunakan secara meluas, reka bentuk dan prestasi terbaik rangka kerja Struts2 menjadikannya alat kegemaran untuk pembangun. Memahami prinsip pelaksanaan rangka kerja Struts2 adalah sangat penting untuk meningkatkan pemahaman pembangun dan tahap aplikasi rangka kerja. Artikel ini akan menganalisis prinsip pelaksanaan rangka kerja Struts2 secara terperinci dan menyediakan contoh kod khusus untuk membantu pembaca memahami rangka kerja ini dengan lebih mendalam. 1. Pengenalan ringkas rangka kerja Struts2

Analisis mendalam tentang mekanisme pengendalian rangka kerja Struts2 Analisis mendalam tentang mekanisme pengendalian rangka kerja Struts2 Jan 05, 2024 pm 03:36 PM

Analisis mendalam tentang prinsip kerja rangka kerja Struts2 Struts2 ialah rangka kerja pembangunan aplikasi Web Java yang sangat baik Ia menyediakan kaedah pembangunan berdasarkan corak MVC (Model-View-Controller) untuk membantu pembangun membina dan menyelenggara aplikasi Web dengan lebih cepat. Memahami prinsip kerja rangka kerja Struts2 adalah sangat penting untuk pembangun Artikel ini akan membantu pembaca memperoleh pemahaman yang mendalam tentang prinsip kerja rangka kerja Struts2 melalui analisis terperinci dan contoh kod khusus.

Penerokaan mendalam tentang prinsip teras dan amalan terbaik rangka kerja Struts Penerokaan mendalam tentang prinsip teras dan amalan terbaik rangka kerja Struts Feb 18, 2024 pm 06:37 PM

Rangka kerja Struts ialah rangka kerja aplikasi web sumber terbuka berasaskan Java yang mengikut corak reka bentuk Model-View-Controller (MVC) dan bertujuan untuk memudahkan proses pembangunan aplikasi web. Artikel ini akan menganalisis prinsip teras rangka kerja Struts dan menyediakan garis panduan amalan terbaik, disertai dengan contoh kod khusus. 1. Prinsip teras rangka kerja Struts 1. Corak reka bentuk MVC Rangka kerja Struts menggunakan corak reka bentuk MVC dan membahagikan aplikasi kepada tiga bahagian.

See all articles