Ações – Tags Personalizadas • Ações <jsp:ação ... /> : • Permitem realizar operações externas ao servlet • Concatenação de páginas em uma resposta • <jsp:forward> e <jsp:include> • Inclusão de JavaBeans <jsp:useBean>, • <jsp:setProperty> e <jsp:getProperty> Forward • A ação <jsp:forward> é utilizada para transferir permanentemente o controle de uma página JSP para outro local no servidor local. Qualquer conteúdo gerado pela página atual é descartado e o processamento da solicitação começa novamente no local alternativo. Sua sintaxe básica é : • <jsp:forward page=“localURL”/> • O atributo page da ação <jsp:forward> é utilizado para especificar o local alternativo para o qual o controle deve ser transferido, que pode ser um documento estático, uma CGI, um servlet ou uma outra página JSP. Include • A ação <jsp:include> permite que os autores de página incorporem o conteúdo gerado por um outro documento local no output da página atual. O output do documento incluído é inserido no output da página original no lugar da tag <jsp:include>, depois o processamento da páginal original continua. • Este atributo é utilizado para identificar o documento cujo output deve ser inserido na página atual e é especificado como um URL no servidor local. A página incluída pode ser um documento estático, uma CGI, um servlet ou uma página JSP. • Veja sua sintaxe a seguir : • <jsp:include page=“localURL” flush=“true”/> • O atributo FLUSH acima controla se o buffer de saída atual é ou não esvaziado antes da inclusão do conteúdo da página incluída. Quando true, indica que o buffer é esvaziado antes do processamento da página incluída começar. Plug-in • A ação <jsp:plugin> é usada para gerar HTML específica de navegador para especificar applets Java que se apóiam no plug-in Java da Sun. • Infelizmente, a HTML para adicionar um applet a uma página usando o plug-in de Java é específica de navegador. Além disso, o código de plug-in é específico de plataforma, baseado no sistema operacional e hardware no qual ele está rodando. Como resultado, a configuração de uma página para rodar um applet através do plug-in não é muito simples usando apenas HTML. • Para simplificar esta tarefa, então, JSP fornece a ação <jsp:plugin>, que fornece aos programadores um mecanismo compatível com diversas plataformas para especificar o uso do plug-in de Java. A sintaxe para esta ação é a que se segue : • <jsp:plugin type=“type” code=“objectCode” codebase=“objectCodeBase” attribute1=“value1” attribute2=“value2”...> useBean • A tag <jsp:useBean> diz para a página que você quer disponibilizar um Bean para a página. A tag é utilizada para criar um Bean ou pegar um Bean existente no servidor. Os atributos da tag especificam o tipo de Bean que se deseja usar e atribuem a ele um nome que você pode usar para se referir a ele. • Sintaxe : <jsp:useBean id=“nome do Bean” class=“nome da classe”/> <jsp:useBean id=“nome do Bean” class=“nome da classe”> initialization code <jsp:useBean> Onde, por exemplo, id = um identificador Java, por exemplo, MeuBean e class = nome da classe Java, por exemplo, java.util.Date. • Num exemplo prático : <jsp:useBean id=“myClock” class=“com.manning.jsp.ClockBean”/> <html> <body> Há um Bean se escondendo nesta página ! </body> </html> getProperty • A melhor maneira de se acessar as propriedades de um Bean em JSP é através da tag <jsp:getProperty>. • Diferente da tag useBean que realiza algum trabalho por detrás dos panos, mas que não produz nenhum output, a tag <jsp:getProperty> na verdade produz conteúdo que podemos ver na HTML gerada pela página. • Esta tag é vazia, sem elemento de corpo e espera dois atributos : nomee propriedade. • Sua sintaxe é: • <jsp:getProperty name=“nome do Bean” property=“nome da property”/> • Exemplo prático : <jsp:useBean id=“myClock” class=“com.manning.jsp.ClockBean”/> <html> <body> O Bean diz que a hora de agora é : <jsp:getProperty name=“myClock” property=“time”/> </body> </html> • A propriedade de um Bean pode ser utilizada para se alterar a cor de fundo de uma página, a largura de uma tabela ou a fonte de uma imagem. setProperty • Usamos esta tag para modificar as propriedades dos Beans. Ela pode ser utilizada em qualquer lugar dentro da página para modificar as propriedades de um Bean, desde que a propriedade tenha sido tornada gravável pelo programador do Bean. • Modificamos os valores das propriedades de um Bean para controlar as características específicas da operação do Bean ou acessar seus serviços. • Sua sintaxe na prática : <jsp:setProperty name=“user” property=“daysLeft” value=“30”/> <jsp:setProperty name=“user” property=“daysLeft” value=“<%15*2%>”/>