Escolar Documentos
Profissional Documentos
Cultura Documentos
● Introdução
● Aplicação Web
● Custom Tags
● JavaServer Pages
● JavaServer Faces
Aplicação Web
classe auxilares.
● Opcionalmente empacotar a aplicação em uma
unidade de implantação.
● Implantar a aplicação em um web container.
Tradução e compilação
Texto HTML
– <H1>Blah</H1>
– Passado para o cliente. Transformado em código servlet:
out.print("<H1>Blah</H1>");
Comentários HTML
– <!-- Comentário -->
– Mesmo que um outro HTML: Passado para o cliente
Comentário JSP
– <%-- Comment --%>
– Não envia para o cliente
Tipos de elementos scripts
Expressões
– Formato: <%= expression %>
– Avaliada e inserida na saída do servlet:
out.print(expression)
Scriptlets
– Formato: <% code %>
– Incorporado ao método do servlet _jspService
Declarações
– Format: <%! code %>
– Inserido no corpo de uma classe servlet, fora de
qualquer método.
Expressões JSP
Formato
– <%= Java Expression %>
Result
– Expressão avaliada, convertida para String, e colocada na
página HTML no local onde ocorre na página JSP.
– Expressão colocada no método _jspService dentro do
out.print
Exemplos
– Data: <%= new java.util.Date() %>
– Hostname: <%= request.getRemoteHost() %>
Sintaxe XML
– <jsp:expression>Expressão Java</jsp:expression>
– Versão XML não suportada pelo TomCat 3. Deste JSP 1.2 os
Correspondência JSP/Servlet
JSP Original
<H1>A Random Number</H1>
<%= Math.random() %>
Código do servlet
public void _jspService(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
HttpSession session = request.getSession(true);
JspWriter out = response.getWriter();
out.println("<H1>A Random Number</H1>");
out.println(Math.random());
...
}
JavaServer Faces (JSF)
Introdução
Ciclo de vida
Usando JSF em paginas JSP
Usando tags JSF
Usando dados localizados
Conversores e validadores.
Backing Bean
JSF – Introdução
JSF contém:
• JavaBeans
• Event Listener
• Páginas JSP
• Classes auxiliares do lado do servidor
• Biblioteca de componentes UI
• Biblioteca de event handlers, validators, e etc...
JSF – Introdução (cont.)
Backing Beans
Arquivo de configuração da aplicação
JSF – Ciclo de vida
JSF – Usando JSF em páginas JSP
BigDecimalConverter, BigIntegerConverter,
BooleanConverter,
ByteConverter,CharacterConverter
DateTimeConverter, DoubleConverter,
FloatConverter,
IntegerConverter,
LongConverter,NumberConverter,
ShortConverte
Conversores e Validadores (cont.)
DataTimeConverter
<h:outputText value="#{cashier.shipDate}">
<f:convertDateTime dateStyle="full" />
</h:outputText>
NumberConverter
<h:outputText value="#{cart.total}" >
<f:convertNumber type="currency"
</h:outputText>
Conversores e Validadores (cont.)
Validadores padrão
DoubleRangeValidator
LengthValidator
LongRangeValidator
Exemplo:
<h:inputText id="q" size="4"
value="#{item.quantity}" required=“true”>
<f:validateLongRange minimum="1"/>
</h:inputText>
<h:message for="quantity"/>
Backing Bean
Configuração:
<managed-bean>
<managed-bean-
name>UserNumberBean</managed-bean-
name> <managed-
bean-class>g.UserNumBean</managed-bean-
class> <managed-bean-
scope>session</managed-bean-scope>
</managed-bean>
Fórmula p/ usar JSF
Sobrenome: <h:inputText
value=“#{bean.sobrenome}”/><BR> ...
<h:commandButton
value=“Cadastrar Dados"
action="#{bean.cadastrar}"/>
</h:form>…
</f:view>
Exemplo (cont.)
package exemplo;
// getters e setters
...
Exemplo (continuação)
<faces-config>
<managed-bean>
<managed-bean-name>
bean
</managed-bean-name>
<managed-bean-class>
exemplo.CadastroBean
</managed-bean-class>
Exemplo (cont.)
<managed-bean-scope>
request
</managed-bean-scope>
</managed-bean>
…
</faces-config>
Exemplo
<faces-config>
<navigation-rule>
<from-view-id>/cadastro.jsp</from-view-id>
<navigation-case>
<from-outcome>
aceito
</from-outcome>
<to-view-id>
Exemplo
(continuação)
/WEB-INF/result/aceito.jsp
</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>
rejeitado
</from-outcome>
<to-view-id>
/WEB-INF/results/rejeitado.jsp
Exemplo
(continuação)
</to-view-id>
</navigation-case>
</navigation-rule>
…
</faces-config>
Exemplo (cont.)
<HTML>
<HEAD>…</HEAD>
<BODY>
Cadastro do usuário ${bean.nome}
${bean.sobrenome} aceito. Parabéns.
</BODY></HTML>
Exemplo (cont.)
<HTML>
<HEAD>…</HEAD>
<BODY>
Cadastro rejeitado.<br/>
<A HREF=“cadastro.faces">Tente de novo</A>.
</BODY></HTML>
Referências