Tapeçaria Apache - páginas e componentes
O aplicativo Tapestry é simplesmente uma coleção de páginas de tapeçaria. Eles trabalham juntos para formar um aplicativo da Web bem definido. Cada página terá um modelo XML correspondente e zero, um ou mais componentes. A Página e o Componente são iguais, exceto que a Página é um componente raiz e geralmente criado por um desenvolvedor de aplicativos.
Components are children of the root Pagecomponent. A tapeçaria tem muitos componentes integrados e tem a opção de criar um componente personalizado.
Páginas
Conforme discutido anteriormente, Pages são blocos de construção de um aplicativo Tapestry. As páginas são POJOs simples, colocadas sob -/src/main/java/«package_path»/pages/pasta. Cada página terá um correspondenteXML Template e seu local padrão é - /src/main/resources/«package_name»/pages/.
Você pode ver aqui que a estrutura do caminho é semelhante para a página e o modelo, exceto que o modelo está no Resource Folder.
Por exemplo, uma página de registro de usuário em um aplicativo Tapestry com o nome do pacote - com.example.MyFirstApplication terá os seguintes arquivos de página e modelo -
Java Class -
/src/main/java/com/example/MyFirstApplication/pages/index.java
XML Template -
/src/main/resources/com/example/MyFirstApplication/pages/index.tml
Vamos criar um simples Hello Worldpágina. Primeiro, precisamos criar umJava Class em - /src/main/java/com/example/MyFirstApplication/pages/HelloWorld.java ”.
package com.example.MyFirstApplication.pages;
public class HelloWorld {
}
Em seguida, crie um modelo XML em -
“/Src/main/resources/com/example/MyFirstApplication/pages/helloworld.html”.
<html xmlns:t = "http://tapestry.apache.org/schema/tapestry_5_4.xsd">
<head>
<title>Hello World Page</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
Agora, esta página pode ser acessada em https://localhost:8080/myapp/helloworld. Esta é uma página simples de tapeçaria. Tapestry oferece muito mais recursos para desenvolver páginas da Web dinâmicas, que discutiremos nos próximos capítulos.