Java JSTL. Rodrigo C. de Azevedo

Tamanho: px
Começar a partir da página:

Download "Java JSTL. Rodrigo C. de Azevedo"

Transcrição

1 Java JSTL Rodrigo C. de Azevedo OMG Certified UML Professional Fundamental OMG Certified UML Professional Intermediate CompTIA Project+ Sun Certified Associate for Java Platform Sun Certified Programmer Java 1.4 Sun Certified Programmer Java 5.0 Sun Certified Web Component Developer Sun Certified Business Component Developer J2EE 1.3 Sun Certified Enterprise Architect [SCEA, Part I] 2 / 97

2 Roteiro Assuntos Como instalar e utilizar JSTL Definição Biblioteca Core Biblioteca I18N Biblioteca Functions Referências 3 / 97 Introdução JSTL1.1 na JEE 1.4 Para utilizar o JSTL 1.1 deve-se colocar na biblioteca do projeto web os arquivos jstl.jar e standard.jar. Para fazer o download desta versão, acesse: -standard.cgi 4 / 97

3 Introdução JSTL1.1 na JEE 1.4 Em cada página JSP é necessário inserir a declaração da taglib com o grupo de tags desejada. JSTL core: taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> JSTL fmt: taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> JSTL xml: taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %> JSTL taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> JSTL functions: taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 5 / 97 Introdução JSTL1.2 na JEE 1.5 A biblioteca do JSTL 1.2, diferente da versão JEE 1.4, possui somente o arquivo jstl.jar. Para fazer download desta versão, acesse: https://maven-repository.dev.java.net/repository/jstl/jars/ 6 / 97

4 Introdução JSTL1.2 na JEE 1.5 Em cada página JSP é necessário inserir a declaração da taglib com o grupo de tags desejada. JSTL core: taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> JSTL fmt: taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> JSTL xml: taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %> JSTL sql: taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> JSTL functions: taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> 7 / 97 Introdução Java Server Pages Standard Tag Library (JSTL) É o nome de um conjunto de tags que visa prover suporte para iterações, condicionais, processamento XML, internacionalização, operações em String e acesso à dados usando SQL. A especificação JSTL (JSR-52) foi desenvolvida pela Java Community Process (http://www.jcp.org). 8 / 97

5 Introdução É composta pelas seguintes bibliotecas: Core I18N Functions Sql Xml 9 / 97 Biblioteca Core Tags da Biblioteca Core Para esta biblioteca é recomendável utilizar o prefixo c. * Aplicado a todas as tags do grupo Gerenciamento de URL Operações com variáveis Fluxo de controle Iterações Gerenciamento de URL Miscelânea set remove choose when otherwise if foreach fortokens import param* redirect url catch out 10 / 95

6 c:set - Operações com variáveis c:set Permite inserir atributo em qualquer escopo. Nota var - Define o nome da variável. value É o valor que a variável irá receber. scope Permite definir o escopo onde o resultado da condição será armazenado na variável. O default se este atributo não for informado é Page. Os escopos possíveis são Page, Request, Session e Application. 11 / 97 c:set - Operações com variáveis Exemplo de uso <c:set var= resultado value= ${valor} /> ou <c:set var= resultado >${valor} </c:set> <c:set var= resultado scope= session >${valor}</c:set> 12 / 97

7 c:set - Operações com variáveis c:set Permite também manipular JavaBeans. target Pode ser qualquer JavaBean ou java.util.map. Este atributo deve ser utilizado em conjunto com o atributo property. property Define o atributo que será alterado. 13 / 97 c:set - Operações com variáveis Exemplo de uso <c:set target="${sessionscope}" property="maxinactiveinterval">60</c:set> ${sessionscope.maxinactiveinterval} 14 / 97

8 c:set - Operações com variáveis Notas Logicamente não é possível utilizar os atributos var e target em conjunto. Se o value informado for null, o atributo nomeado será removido. Se a variável definida pelo atributo var não existir, o mesmo será criado. Se a variável já existe, apenas será alterada. Se o atributo target for traduzido como null, será lançada uma exceção. Se o target após a tradução não for possível de ser utilizado como um Java Bean, será lançada uma exceção. Um erro comum é colocar uma String que representa o nome da variável do Bean no atributo target. Lembre-se, o target tem que representar uma referência de um objeto Java e nunca um literal. 15 / 97 c:remove - Operações com variáveis c:remove É usado para remover um atributo de algum dos escopos. Atributo Nota var (obrigatório) - Define o nome da variável que será removida. scope Permite definir o escopo de onde a variável será removida. Se o escopo não for definido, serão removidos todos os atributos com o nome passado no atributo var de todos os escopos(page, Request, Session e Application). Apresenta o mesmo comportamento do método removeattribute do PageContext. 16 / 97

9 c:if - Fluxo de controle c:if Executará o corpo se a condição for verdadeira. test - Representa uma condição boleana que pode ser fornecida através de scriptlet ou EL. 17 / 97 c:if - Fluxo de controle c:if Quando a tag não possui corpo, é possível utilizar outros dois atributos que permitem armazenar o resultado. var Permite armazenar o resultado da condição test. scope Permite definir o escopo onde o resultado da condição será armazenado na variável. O default se este atributo não for informado é Page. 18 / 97

10 c:if - Fluxo de controle Exemplo de uso <c:if test= ${valor gt 3} > <p>valor maior que 3</p> </c:if> <c:if test= ${valor > 3} var= resultado /> <c:if test= ${resultado} >O if anterior foi verdadeiro</c:if> <c:if test= ${minhastags:verificar(100)} > Entrei aqui... </c:if> 19 / 97 c:choose - Fluxo de controle c:choose É como se fosse um bloco de if / else if / else when - Possui um atributo obrigatório denominado test. otherwise É opcional, mas se for incluído somente pode haver 1. Não tem nenhum atributo. Somente é executado se todos os testes presentes nas tags when falhar. Tem que ser a última opção. 20 / 97

11 Exemplo de uso c:choose - Fluxo de controle <c:choose> <c:when test= ${valor lt 2 and valor ge 0} > Valor é igual 1. </c:when> <c:when test= ${valor lt 3 && valor ge 1} > Valor é igual 2. </c:when> <c:otherwise> Valor não é 1 nem 2. </c:otherwise> </c:choose> 21 / 97 c:foreach - iterações c:foreach Permite iteragir em um java.lang.array, java.util.collection, java.util.iterator ou java.util.enumeration. var Nomeia a variável que recebe o item originado pela iteração. items Recebe através de um scriplet ou EL um objeto que pode ser dos tipos definidos acima. 22 / 97

12 c:foreach - iterações Exemplo de uso <c:foreach items= ${algumalista} var= item > <p>${item}</p> </c:foreach> 23 / 97 c:foreach - iterações Como percorrer um Map <c:foreach items= ${paramvalues} var= keyentry > <p>${keyentry.key} = ${keyentry.value[0]}</p> </c:foreach> Nota No exemplo acima foi utilizado o objeto implícito paramvalues que retorna um Map com todos os parâmetros, onde a chave (key) é o nome do parâmetro e o valor é um array de objetos String. Para obter o primeiro item do Array de Strings, que representa o valor, deve-se utilizar entre colchetes o índice / 97

13 c:foreach - iterações atributo varstatus Representa uma instância da classe de LoopTagStatus. Possui inúmeros métodos que permite obter informações sobre a iteração. Por exemplo, é possível verificar se o laço se encontra na última iteração, obter o objeto corrente e etc. 25 / 97 c:foreach - iterações atributo varstatus Exemplo de uso <c:foreach var= carro items= ${carros} varstatus= info > <p>${info.count}</p> <!- - Contador de iterações -- > </c:foreach> 26 / 97

14 c:foreach - iterações c:foreach aninhados Exemplo de uso <c:foreach items="${paramvalues}" var="keyentry"> <p>[${keyentry.key} = <c:foreach items="${keyentry.value}" var="value" varstatus="status"> [ ${value} ] <c:if test= ${not status.last}">, </c:if> </c:foreach> ]</p> </c:foreach> 27 / 97 c:foreach - iterações c:foreach begin - Define um valor inicial na iteração. end - Define um valor final ou valor máximo na iteração. step - Permite definir o valor do incremento em cada iteração. 28 / 97

15 c:foreach - iterações Exemplo de uso <c:set var= contador value= 0 /> <c:foreach begin= 1 end= 40 step= 2 > <c:set var= contador value= ${contador+1} /> O valor do contador agora é ${contador} <br/> </c:foreach> 29 / 97 c:fortokens - iterações c:fortokens É uma especialização da tag <c:foreach>. fortokens x foreach O atributo items somente aceita String como valor. Existe um atributo adicional denominado delims que permite especificar o delimitador que será utilizado. 30 / 97

16 c:fortokens - iterações Exemplo de uso <c:set var="diasdasemana" value="domingo,segunda,terça,quarta,quinta,sexta,sábado"/> Dias da Semana<br/> <ul> <c:fortokens items="${diasdasemana}" delims="," var="dia"> <li>${dia}</li> </c:fortokens> </ul> 31 / 97 c:out - Miscelânea c:out É utilizado para escrever no output da página value (obrigatório) Informa o valor que deverá ser escrito na página. Pode ser um scriplet ou EL. default É acionado quando o value é null. Se este atributo não for fornecido, o null será exibido como uma String vazia. escapexml Converte os caracteres problemáticos para versões XML aceitáveis. Este atributo pode aceitar apenas os valores true e false. O padrão deste atributo é ativado (true). 32 / 97

17 c:out - Miscelânea O atributo escapexml da tag c:out Caracteres problemáticos < < > > & (aspas simples) Convertidos para & &#039; (aspas duplas) " 33 / 95 c:out - Miscelânea Exemplo de uso <c:out value= ${estado.sigla} default= não informado /> <c:out value= ${estado.sigla} >não informado</c:out> <c:out value= ${estado.nome} /> <c:set var= texto value= <strong>ola Mundo em Negrito</strong> /> <c:out value= ${texto} escapexml= true /> <c:out value= ${texto} escapexml= false /> 34 / 97

18 c:catch - Miscelânea c:catch Permite capturar um erro sem propagá-lo. É possível capturar qualquer java.lang.throwable e calá-la. var Atributo opcional que recebe a exceção, para posterior uso. 35 / 97 c:catch - Miscelânea Exemplo de uso <c:catch var= error > <% int i=0; i = 3/i; %> </c:catch> ${error.message} 36 / 97

19 c:import - Gerenciamento de URL c:import É parecido com <jsp:include>, pois realiza a inclusão em tempo de execução. Pode utilizar recursos de outro contexto. O resultado da importação não precisa ser exibido, pode ser armazenado para ser usado posteriormente. 37 / 97 c:import - Gerenciamento de URL c:import url Atributo pode ser relativo ou absoluto. Uma url é considerada relativa se não apresenta /. Uma url é absoluta se informa /. Apesar de absoluta, lembre-se que é relativa ao contexto. 38 / 97

20 c:import - Gerenciamento de URL c:import context Atributo que permite informar o acesso a outro contexto. O contexto informado precisa residir ou ser conhecido no mesmo container e ambos, url e context, precisam começar com /. var O conteúdo importado será colocado no objeto declarado na variável. scope Informa o escopo para a variável var. Se este atributo não for fornecido, será utilizado o Page. varreader (alternativa para o var) Atribui a página importada em um objeto java.io.reader. charencoding Define o tipo de caracter que está sendo utilizado no arquivo importado. O default é ISO / 97 c:url - Gerenciamento de URL c:url Permite montar corretamente uma url para ser utilizada como link. Quando url-rewrite estiver em uso, esta funcionalidade encapsulará o ID da sessão na URL (análogo ao método encodeurl() do Response). var Nomeia uma variável para utilizar a url. context Nome do contexto utilizado. scope Define o escopo onde será atribuído a variável. value Define a URL (pode ser relativa ou absoluta). 40 / 97

21 c:url - Gerenciamento de URL Exemplo de uso <c:url value= /urlpage.jsp context= /certificacao var= link /> <a href= ${link} >Este link foi construído</a> <a href= <c:url value= /urlpage.jsp context= /certificacao />Este link também foi construído</a> 41 / 97 c:redirect - Gerenciamento de URL c:redirect Redireciona para uma página específica. Internamente utiliza o HttpServletResponse.sendRedirect(). url (Obrigatório) Define a url. Pode ser absoluta (relativa ao contexto, com / ), relativa (sem / ), completa (incluindo protocolo, hostname e porta). context Nome do contexto desejado. Exemplo de uso <c:redirect url= /redirecionada.jsp /> 42 / 97

22 c:param - Gerenciamento de URL c:param Pode ser utilizado no corpo das tags c:import, c:url e c:redirect. Permite realizar uma passagem de parâmetros. Esta tag faz o encoding necessário para os valores passados. name - Fornece o nome do parâmetro value - Fornece o valor do parâmetro 43 / 97 c:redirect - Gerenciamento de URL Exemplo de uso <c:url value= /urlteste.jsp var= link > <c:param name= nome value= Rodrigo /> <c:param name= cargo value= Analista /> </c:url> <a href= ${link} >Ver url teste</a> 44 / 97

23 Biblioteca I18N Tags da Biblioteca I18N Para esta biblioteca é recomendável utilizar o prefixo fmt. Fornecendo Locale Fornecendo mensagens Formatando Date e Number setlocale requestencoding bundle message param setbundle formatnumber formatdate parsedate parsenumber settimezone timezone 45 / 95 Obter o Locale nas aplicações web O locale é obtido através do header http accept-language. Exemplo de valor: pt-br,en-us;q=0.8,pt;q=0.5,en;q=0.3 Obter o locale - I18N A interface HttpServletRequest possui métodos que nos permite obter informações sobre este header. getlocale(): java.util.locale Retornar o objeto Locale que representa a preferência do usuário final. getlocales():enumeration. Obtém todos os idiomas aceitos pelo usuário final. Nota Se o cliente não enviar o header accept-language, será retornado pelo método getlocale() ou getlocales(), o objeto Locale padrão do servidor. 46 / 97

24 Config - I18N Classe Config A classe javax.servlet.jsp.jstl.core.config é utilizada para controlar as configurações de internacionalização e acesso a dados da JSTL programaticamente. Possui 6 constantes e métodos estáticos que nos permite interferir no comportamento de várias tags das bibliotecas I18N e SQL. 47 / 97 Constante FMT_FALLBACK_LOCALE - I18N Config.FMT_FALLBACK_LOCALE = javax.servlet.jsp.jstl.fmt.fallbacklocale Valores aceitos para esta chave String ou java.util.locale Exemplo: pt_br, Locale.US Pode ser fornecida por Parâmetro no contexto ou programaticamente. 48 / 97

25 Constante FMT_FALLBACK_LOCALE - I18N Config.FMT_FALLBACK_LOCALE = javax.servlet.jsp.jstl.fmt.fallbacklocale Tags influenciadas <fmt:bundle>, <fmt:setbundle>, <fmt:message>, <fmt:formatnumber>, <fmt:parsenumber>, <fmt:formatdate> e <fmt:parsedate> 49 / 97 FMT_FALLBACK_LOCALE - I18N Definição O valor fornecido pela configuração do fallback locale provê uma configuração padrão para o locale. É utilizado apenas quando o objeto locale não for encontrado (ou seja, não for passado pelo header acceptlanguage). 50 / 97

26 FMT_FALLBACK_LOCALE - I18N Definição Quando utilizamos uma String para configurar este valor, este literal deve conter o valor em minúsculo que corresponde ao código da linguagem de acordo com a ISO-639. Opcionalmente pode conter em maiúsculo o nome do país de acordo com a ISO-3166, separado por hífem ou underscore. Exemplo pt_br, en_us 51 / 97 FMT_FALLBACK_LOCALE - I18N Exemplo de uso <web-app> <context-param> <param-name> javax.servlet.jsp.jstl.fmt.fallbacklocale </param-name> <param-value>pt_br</param-value> </context-param> </web-app> Ou (dentro de um Servlet) Locale locale = new Locale( pt, BR ); HttpSession session = request.getsession(); Config.set(session, Config.FMT_FALLBACK_LOCALE, locale); 52 / 97

27 FMT_LOCALE - I18N Constante Config.FMT_LOCALE = javax.servlet.jsp.jstl.fmt.locale Valores aceitos para esta chave String ou java.util.locale Exemplo: pt_br, Locale.US Pode ser fornecida por <fmt:setlocale>, parâmetro no contexto ou programaticamente. Tags influenciadas <fmt:bundle>, <fmt:setbundle>, <fmt:message>, <fmt:formatnumber>, <fmt:parsenumber>, <fmt:formatdate> e <fmt:parsedate> 53 / 97 FMT_LOCALE - I18N Definição Se for alterada esta chave, desabilitará a procura do locale baseado na preferência do usuário (através do header HTTP accept-language). Segue as mesmas regras do Config.FMT_FALLBACK_LOCALE. 54 / 97

28 FMT_LOCALIZATION_CONTEXT - I18N Constante Config.FMT_LOCALIZATION_CONTEXT = javax.servlet.jsp.jstl.fmt.localizationcontext Valores aceitos para esta chave String ou javax.servlet.jsp.jstl.fmt.localizationcontext Pode ser fornecida por <fmt:setbundle>, parâmetro do contexto ou programaticamente. Tags influenciadas <fmt:message>, <fmt:formatnumber>, <fmt:parsenumber>, <fmt:formatdate> e <fmt:parsedate> 55 / 97 FMT_LOCALIZATION_CONTEXT - I18N Definição O valor pode ser um literal (String) contendo o nome do resource bundle. Neste momento, JSTL localiza o locale para o bundle. Ou utilizar a tag <fmt:setbundle> que fornece o bundle para uma instância da classe LocalizationContext. Nota LocalizationContext contém informações (referências) sobre o resource bundle e o locale. 56 / 97

29 FMT_LOCALIZATION_CONTEXT - I18N Exemplo de uso <web-app> <context-param> <param-name> javax.servlet.jsp.jstl.fmt.localizationcontext </param-name> <param-value>messages</param-value> </context-param> </web-app> Nota Este arquivo de mensagens deve estar no classpath da sua aplicação web e deve possuir a extensão.properties. 57 / 97 FMT_LOCALIZATION_CONTEXT - I18N Exemplo do arquivo messages.properties label.saudacao = Bom dia erro.campo.obrigado = Campo é obrigatório! Exemplo do arquivo messages_en.properties label.saudacao = Good morning erro.campo.obrigado = Field is required! 58 / 97

30 FMT_LOCALIZATION_CONTEXT - I18N A tag fmt:message sempre procura o arquivo de mensagens mais adequado para o locale associado ao usuário (enviado pelo header accept-language) Se o locale associado usuário for en_us, a tag fmt:message irá tentar buscar as mensagens respectivamente nos seguintes arquivos: messages_en_us.properties messages_en.properties messages.properties O primeiro a ser encontrado será utilizado. 59 / 97 FMT_LOCALIZATION_CONTEXT - I18N Nota É considerado boa prática ter um arquivo de propriedades com a língua padrão do sistema e um arquivo específico para cada língua adicional. 60 / 97

31 FMT_TIME_ZONE - I18N Constante Config.FMT_TIME_ZONE = javax.servlet.jsp.jstl.fmt.timezone Valores aceitos para esta chave String ou java.util.timezone Exemplo: GMT-4, America/Los_Angeles Pode ser fornecida por <fmt:settimezone>, parâmetro no contexto ou programaticamente. Tags influenciadas <fmt:formatdate> e <fmt:parsedate> 61 / 97 FMT_TIME_ZONE - I18N Definição A configuração do time zone provê um time zone padrão para as tags de formatação do JSTL e os conversores de datas. Valores literais (String) para o time zone precisam ser de um tipo definido na classe java.util.timezone (uma abreviação, um nome completo ou um GMT). 62 / 97

32 fmt:setlocale - I18N fmt:setlocale Permite trocar o locale possibilitando a internacionalização. value Permite definir o locale, podendo este ser um objeto do tipo java.util.locale ou um literal como pt_br. scope Define o escopo da mudança. 63 / 97 fmt:requestencondig - I18N fmt:requestenconding Permite informar o character encoding aplicado nos parâmetros. value - Nome do character encoding que será aplicado quando decodificar parâmetros oriundos da request. 64 / 97

33 fmt:bundle - I18N fmt:bundle (body tag) Permite informar um arquivo de propriedades para auxiliar na internacionalização das mensagens contidas no corpo da tag. basename (obrigatório) - Nome completo do resource bundle. Lembre-se que segue a forma do pacote, isto é, os diretórios serão separados por.. Não se deve colocar nenhum sufixo, apenas o nome do bundle sem.properties. prefix Prefixo que será anexado ao valor da chave da mensagem de todas as chaves presentes na tag <fmt:message> aninhadas. 65 / 97 fmt:bundle - I18N Exemplo de uso <fmt:bundle basename="labels"> <fmt:message key= label.primeironome"/> <fmt:message key= label.ultimanome"/> </fmt:bundle> Pode ser abreviado para: <fmt:bundle basename="labels" prefix= label."> <fmt:message key= primeironome"/> <fmt:message key= ultimanome"/> </fmt:bundle> 66 / 97

34 fmt:setbundle - I18N fmt:setbundle (tag empty) Permite informar um arquivo de propriedades para auxiliar na internacionalização das mensagens no escopo definido. basename (opcional) - Nome completo do resource bundle. Lembre-se que segue a forma do pacote, isto é, os diretórios serão separados por.. Não se deve colocar nenhum sufixo, apenas o nome do bundle sem.properties. var - Nome da variável que armazenará um objeto do tipo javax.servlet.jsp.jstl.fmt.localizationcontext. scope - Define o escopo da variável 67 / 97 fmt:message - I18N fmt:message Referencia uma chave em um arquivo de properties obtido através de um bundle. É essencial para fins de internacionalização de um sistema. key - A chave da mensagem que será procurada no bundle. bundle - Localização (nome completo) do bundle onde a chave será procurada. var - Nome da variável que armazenará a mensagem. scope - Define o escopo da variável. 68 / 97

35 fmt:message - I18N fmt: param (pertence a message) Pode ser utilizado dentro de uma tag fmt:message para fornecer parâmetros para as mensagens encontradas no arquivo de properties referenciados pelo bundle. value - Argumento utilizado para passar parâmetro para a mensagem. 69 / 97 message - I18N Exemplo de uso <fmt:message key= label.misterio"> <fmt:param> <fmt:formatnumber value= ${3} /> </fmt:param> <fmt:param value= carros /> </fmt:message> O arquivo de mensagens deve possuir: label.misterio= Você ganhou {0} {1}! 70 / 97

36 fmt:formatnumber - I18N fmt:formatnumber Permite converter um objeto numérico para um literal que representa um formato de número, monetário e percentual. var - Nome da variável que terá o resultado String formatado scope - Escopo onde a variável será armazenada. value - Qualquer valor numérico para ser formatado. type - Especifica o tipo do valor que será formatado. Os valores possíveis são: number, currency, ou percent. pattern - Padrões de formatação customizados. Ver em java.text.decimalformat. 71 / 97 formatnumber - I18N fmt:formatnumber currencycode De acordo com a ISO Aplicado somente quando utilizado no formato monetário, senão será ignorado. (Verifique a classe java.util.currency, método getcurrencycode()) currencysymbol - Representa um símbolo monetário. Aplicado somente quando utilizado o formato monetário, senão será ignorado. (Verifique a classe java.util.currency, método getsymbol(). groupingused - Especifica se deve ou não utilizar separadores de milhares. O valor deste atributo pode ser true ou false. O default é false. 72 / 97

37 formatnumber - I18N fmt:formatnumber maxintegerdigits - Número máximo de dígitos inteiros no output formatado. minintegerdigits - Número mínimo de dígitos inteiros no output formatado. maxfractiondigits -Número máximo de dígitos fracionários no output formatado. minfractiondigits -Número mínimo de dígitos fracionários no output formatado. 73 / 97 formatnumber - I18N Exemplo de Uso <fmt:setlocale value= pt_br /> <c:set var="objetonumero" value= ${0.452}%>"/> <fmt:formatnumber type="percent" var="numeroformatado" value="${objetonumero}" maxfractiondigits="2" minfractiondigits="2" maxintegerdigits="2" minintegerdigits="1" scope="session" /> <br/>número formatado: ${sessionscope.numeroformatado} <br/>número formatado: ${numeroformatado} Será exibido: Número formatado: 45,20% 74 / 97

38 formatnumber - I18N Exemplo de Uso <fmt:setlocale value="en_us"/> <c:set var="objetonumero" value="${ }"/> <fmt:formatnumber type="currency" var="numeroformatado" value="${objetonumero}" scope="session" groupingused="true"/> <br/>número formatado: ${sessionscope.numeroformatado} Será exibido Número formatado: $10, / 97 formatnumber - I18N Exemplo de Uso <fmt:setlocale value="pt_br"/> <c:set var="objetonumero" value="${ }"/> <fmt:formatnumber type="number" var="numeroformatado" value="${objetonumero}" maxfractiondigits="2" minfractiondigits="2" minintegerdigits="1" scope="session" /> <br/>número formatado: ${numeroformatado} Será exibido Número formatado: 150,46 76 / 97

39 fmt:formatdate - I18N fmt:formatdate Permite converter um objeto do tipo java.util.date para um formato literal que pode representar uma data ou tempo. value - Fornece o valor Date e/ou Time que será formatado. type - Especifica o tipo que será formatado. Os valores possíveis são date, time ou both. 77 / 97 fmt:formatdate - I18N fmt:formatdate datestyle - Utiliza estilos de formatação predefinidos para datas. São aplicados apenas quando o tipo é data ou both, senão será ignorado. Os valores possíveis são: default, short, medium, long e full. timestyle - Utiliza estilos de formatação predefinidos para tempo. São aplicados apenas quando o tipo é time ou both, senão será ignorado. Os valores possíveis são: default, short, medium, long e full. Nota Ver class java.text.dateformat para entender melhor os atributos timestyle e datestyle. 78 / 97

40 fmt:formatdate - I18N fmt:formatdate pattern - Fornece um estilo de formatação customizado para data e tempo. timezone - Time zone que representa o tempo formatado. var - Nome da variável que receberá a String resultante da formatação. scope - Define o escopo onde a variável será armazenada. 79 / 97 fmt:formatdate - I18N Exemplo de Uso <fmt:setlocale value="en_us"/> <c:set var="objetodata" value="<%=new java.util.date()%>" /> <fmt:formatdate datestyle="full" type="both" timestyle="medium" value="${objetodata}" var="dataformatada" scope="session" /> Data Formatada é: ${dataformatada} 80 / 97

41 fmt:formatdate - I18N Exemplo de Uso <fmt:setlocale value="pt_br"/> <c:set var="objdata" value="<%=new java.util.date()%>" /> <fmt:formatdate timestyle="full" type="time" value="${objdata}" /> Será exibido 12h11min05s BRT <jsp:usebean id="now" class="java.util.date" /> <fmt:formatdate value="${now}" type="both" pattern="eeee, dd MMMM yyyy, HH:mm" /> Será exibido: Domingo, 11 Maio 2008, 13:31 81 / 97 fmt:parsenumber - I18N fmt:parsenumber Permite converter um literal que representa um numérico (número, formato monetário ou percentual) para um objeto do tipo java.lang.number. value - Valor fornecido que será convertido. type - Especifica o tipo representado pelo literal (String). Os valores possíveis são number, currency ou percent. integeronly - Especifica que somente a parte inteira do valor deve ser considerada. Os valores possíveis são true ou false. var - Nome da variável que receberá um objeto do tipo java.lang.number. scope - Define o escopo da variável. 82 / 97

42 fmt:parsenumber - I18N fmt:parsenumber pattern - Pode fornecer estilos de padrão customizados que definirão como o valor fornecido. parselocale - Define o locale para desta forma utilizar os padrões de formatação de acordo. É utilizado no momento da conversão. Se o atributo pattern estiver presente, este também será influenciado pelo locale definido. 83 / 97 fmt:parsenumber - I18N Exemplo de uso <fmt:setlocale value="pt_br"/> <fmt:parsenumber integeronly="true" var="numero" type="number" value="100,40" /> <br/>valor: ${numero} e seu tipo real é ${numero.class.name} Será exibido Valor: 100 e seu tipo real é java.lang.long Nota Se trocarmos o atributo integeronly para false teremos Valor: e seu tipo real é java.lang.double 84 / 97

43 fmt:parsenumber - I18N Exemplo de uso <fmt:setlocale value="pt_br"/> <fmt:parsenumber var="numero" type="currency" value="r$ 100,40" /> <br/>valor: ${numero} e seu tipo real é ${numero.class.name} Será exibido: Valor: e seu tipo real é java.lang.double <fmt:setlocale value="en_us"/> <fmt:parsenumber var="numero" type="percent" value="96.45%" /> <br/> Valor: ${numero} e seu tipo real é ${numero.class.name} Será exibido: Valor: e seu tipo real é java.lang.double 85 / 97 fmt:parsedate - I18N fmt:parsedate Permite converter um literal que representa uma data ou tempo para um objeto java.util.date. value - Date no formato String para ser convertida. type - Especifica o tipo do String. Os valores possíveis são time, date, ou both. datestyle - Define o estilo da formatação. Aplicado somente quando utilizado date ou both, senão será ignorado. Valores possíveis são: default, short, medium, long e full. timestyle - Define o estilo da formatação. Aplicado somente quando utilizado time ou both, senão será ignorado. Valores possíveis são: default, short, medium, long e full. 86 / 97

44 fmt:parsedate - I18N fmt:parsedate pattern Padrões de formatação customizados que determinam como a data no formato String será convertida. timezone - Time zone que será utiliza para informação de tempo na conversão. parselocale - Locale que possibilita o uso de estilos prédefinidos para data e tempo na conversão. Se o atributo pattern estiver presente, este também será influenciado pelo locale definido. var Nome da variável que armazenará um objeto java.util.date. scope Define o escopo da variável. 87 / 97 fmt:parsedate - I18N Exemplo de uso <fmt:setlocale value="pt_br"/> <fmt:parsedate var="objetodata" type="date" value="12/10/1977" datestyle="medium" /> <br/>date: ${objetodata} e seu tipo real é ${objetodata.class.name} Será exibido: Date: Wed Oct 12 00:00:00 BRT 1977 e seu tipo real é java.util.date 88 / 97

45 fmt:settimezone - I18N fmt:settimezone (tag empty) Permite definir uma configuração de time zone em um determinado escopo da aplicação. value (obrigatório) - Fornece o valor do time zone. O valor pode ser um time zone suportado pelo Java como America/Los_Angeles ou um time zone customizado como GMT-8. Ver em java.util.timezone. var - Nome da variável que armazenará um objeto do tipo java.util.timezone. scope - Define o escopo da variável. 89 / 97 fmt:settimezone - I18N Exemplo de uso <fmt:setlocale value="pt_br"/> <jsp:usebean class="java.util.date" id="now"/> <fmt:formatdate datestyle="short" timestyle="full" type="both" value="${now}" var="dataformatada" scope="session" /> <br/>tempo é: ${dataformatada} <fmt:settimezone value="gmt-8"/> <jsp:usebean class="java.util.date" id="nowzone"/> <fmt:formatdate datestyle="short" timestyle="full" type="both" value="${nowzone}" var="dataformatada" scope="session" /> <br/>tempo é: ${dataformatada} Será exibido: Tempo é: 11/05/08 13h32min39s BRT Tempo é: 11/05/08 08h32min39s GMT-08:00 90 / 97

Java para WEB JSTL. JavaServer Pages Standard Tag Library

Java para WEB JSTL. JavaServer Pages Standard Tag Library JSTL JSTL JavaServer Pages Standard Tag Library API que encapsulou em tags simples toda a funcionalidade que diversas páginas Web precisam, como controle de laços (fors), controle de fluxo do tipo if else,

Leia mais

Programação para Internet II

Programação para Internet II Programação para Internet II Aulas 09 e 10 Fernando F. Costa nando@fimes.edu.br Linguagens de Expressão - EL É uma Linguagem de script que permite o acesso à componentes Java (JavaBeans) através de JSP.

Leia mais

Linguagem de Expressão, JSTL e DisplayTag. Fornece tags para encapsular funcionalidades complexas para utilização em JSPs

Linguagem de Expressão, JSTL e DisplayTag. Fornece tags para encapsular funcionalidades complexas para utilização em JSPs Linguagem de Expressão, JSTL e DisplayTag Fornece tags para encapsular funcionalidades complexas para utilização em JSPs 1 Motivação p/ utilização de Tags Customizadas Facilita o desenvolvimento de futuras

Leia mais

JSTL: facilitando o JSP. Fernando Boaglio

JSTL: facilitando o JSP. Fernando Boaglio JSTL: facilitando o JSP Fernando Boaglio Agenda O JSP sem padrão JSTL: o JSP com padrão Como instalar o JSTL? Exibindo objetos Nossa aplicação Operadores condicionais e loops Formatação e i18n Funções

Leia mais

JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto placidoneto@cefetrn.br

JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto placidoneto@cefetrn.br JSTL: Uma forma padrão de desenvolver página WEB dinâmica Plácido Antonio de Souza Neto placidoneto@cefetrn.br 26/11/2005 JSTL 1 Agenda Histórico e motivação; Servlets e JSP; Introdução e conceituação

Leia mais

JavaServer Pages (JSP) Leonardo Gresta Paulino Murta leomurta@ic.uff.br

JavaServer Pages (JSP) Leonardo Gresta Paulino Murta leomurta@ic.uff.br JavaServer Pages (JSP) Leonardo Gresta Paulino Murta leomurta@ic.uff.br Especificação/IDE/Implementação Esse curso foi preparado em 03/2015 usando a seguinte especificação, IDE e implementação Especificação

Leia mais

J550 Tag Libraries e JSTL

J550 Tag Libraries e JSTL J550 Tag Libraries e JSTL Helder da Rocha (helder@acm.org) www.argonavis.com.br 1 Custom tags JSP com JavaBeans fornecem um meio de diminuir código Java da página, mas não totalmente Designers de página

Leia mais

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Por quê JSP? Com Servlets é fácil Ler dados de um formulário Recuperar dados de uma requisição Gerar informação de resposta Fazer gerenciamento

Leia mais

Servlets & JSP. Prof. Ramon Chiara

Servlets & JSP. Prof. Ramon Chiara Servlets & JSP Prof. Ramon Chiara Java JSE Java Standard Edition JME Java Micro Edition JEE Jave Enterprise Edition Java JSE Java Standard Edition JME Java Micro Edition JEE Jave Enterprise Edition Web

Leia mais

Desenvolvimento de aplicações Web. Java Server Pages

Desenvolvimento de aplicações Web. Java Server Pages Desenvolvimento de aplicações Web Java Server Pages Hamilton Lima - athanazio@pobox.com 2003 Como funciona? Servidor web 2 Internet 1 Browser 3 Arquivo jsp 4 JSP Compilado 2 Passo a passo 1 browser envia

Leia mais

Tecnologias Web. Java Enterprise Edition

Tecnologias Web. Java Enterprise Edition Tecnologias Web Java Enterprise Edition Cristiano Lehrer, M.Sc. Introdução Java Enterprise Edition (JEE): Plataforma de tecnologias para o desenvolvimento de aplicações corporativas distribuídas. É uma

Leia mais

Capítulo 1 - Preparando o Ambiente - 1 - - - - - - - - - - - - - - Capítulo 2 Xhtml - 35 Capítulo 3 - Aplicação Web - 87

Capítulo 1 - Preparando o Ambiente - 1 - - - - - - - - - - - - - - Capítulo 2 Xhtml - 35 Capítulo 3 - Aplicação Web - 87 Capítulo 1 - Preparando o Ambiente - 1 1.1. JDK - 1 1.1.1. Download - 1 1.1.2. JDK Instalando - 3 1.1.3. JDK - Configurando e Testando - 7 1.2. Netbeans 8-11 1.2.1. Download - 11 1.2.2. Instalando - 13

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associação Carioca de Ensino Superior Centro Universitário Carioca Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos

Leia mais

JSP (Java Server Pages)

JSP (Java Server Pages) JSP (Java Server Pages) André Tavares da Silva andre.silva@udesc.br JSP A linguagem surgiu por volta de 1995. JSP foi inicialmente inventado por Anselm Baird-Smith durante um final de semana e depois Satish

Leia mais

BCValidador VALIDAÇÃO DE ARQUIVOS XML RECEBIDOS PELO BANCO CENTRAL DO BRASIL

BCValidador VALIDAÇÃO DE ARQUIVOS XML RECEBIDOS PELO BANCO CENTRAL DO BRASIL BCValidador VALIDAÇÃO DE ARQUIVOS XML RECEBIDOS PELO BANCO CENTRAL DO BRASIL Deinf/Dine4 Versão 1.3 20/05/2013 Histórico de Revisão Data Versão Descrição Autor 06/11/2007 1.0 Elaboração da primeira versão

Leia mais

JAVA Programmer - Objetivo do Curso. Pré-requisito do Curso. Conteúdo Programático do Curso

JAVA Programmer - Objetivo do Curso. Pré-requisito do Curso. Conteúdo Programático do Curso JAVA Programmer - Objetivo do Curso O curso Java Programmer destina-se a todos aqueles que pretendem compreender as características e os recursos essenciais da linguagem Java para o desenvolvimento de

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo JavaServer Pages (JSP) Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010.

Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010. Relatório do GPES Relatório referente a compreensão da programação JSP. Realizado do dia de 22 abril de 2010 a 03 de maio de 2010. Compreender a programação JSP. Os Servlets assim como JSP são tecnologias

Leia mais

UNIDADE III JAVA SERVER PAGES

UNIDADE III JAVA SERVER PAGES UNIDADE III JAVA SERVER PAGES MODELO JSP Um dos principais objetivos da tecnologia J2EE é fazer com que as tarefas sejam realizadas de forma separada. Eliminando as dependências, componentes J2EE tornam-se

Leia mais

Programação Web Aula 12 - Java Web Software

Programação Web Aula 12 - Java Web Software Programação Web Aula 12 - Java Web Software Bruno Müller Junior Departamento de Informática UFPR 25 de Maio de 2015 1 Java 2 Java Web Software 3 Servlets Modelo de Trabalho Funcionamento API Java Código

Leia mais

J2EE. Projeto de Sistemas de Software

J2EE. Projeto de Sistemas de Software J2EE Projeto de Sistemas de Software Agenda Visão geral da Arquitetura J2EE Servlets Boas Práticas JSP Laboratório de Engenharia de Software PUC-Rio 2 J2EE (Java 2 Enterprise Edition) Plataforma de Tecnologias

Leia mais

Aplicações de Linguagem de Programação Orientada a Objeto

Aplicações de Linguagem de Programação Orientada a Objeto Aplicações de Linguagem de Programação Orientada a Objeto WEB JSP Professora Sheila Cáceres JSP É uma tecnologia que permite incluir código Java dentro de páginas web. Uma página jsp é uma página HTML

Leia mais

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem. 1 - O que é JAVASCRIPT? É uma linguagem de script orientada a objetos, usada para aumentar a interatividade de páginas Web. O JavaScript foi introduzido pela Netscape em seu navegador 2.0 e posteriormente

Leia mais

JSP (Java Server Pages)

JSP (Java Server Pages) JSP (Java Server Pages) Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior 1 Introdução Tecnologia para desenvolvimento de aplicações WEB fundamentada na

Leia mais

Laboratório de Programação 3 Parte II 2 - Struts. Maj Mello SE/8 IME cgmello@de9.ime.eb.br http://www.des.ime.eb.br/~cgmello

Laboratório de Programação 3 Parte II 2 - Struts. Maj Mello SE/8 IME cgmello@de9.ime.eb.br http://www.des.ime.eb.br/~cgmello Laboratório de Programação 3 Parte II 2 - Struts Maj Mello SE/8 IME cgmello@de9.ime.eb.br http://www.des.ime.eb.br/~cgmello Introdução O Jakarta Struts é um framework MVC-2 criado por Craig R. McClanahan

Leia mais

Scriptlets e Formulários

Scriptlets e Formulários 2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,

Leia mais

JSP - ORIENTADO A OBJETOS

JSP - ORIENTADO A OBJETOS JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...

Leia mais

Java na WEB Componentes Bean

Java na WEB Componentes Bean 1 Java na WEB Componentes Bean Objetivo: Ao final da aula o aluno será capaz de: Criar site dinâmico utilizando componentes Bean Utilizar Tags de ação Empregar Coleções de Bean. Sumário 5. Definição de

Leia mais

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo: Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

MÓDULO Programação para Web 2

MÓDULO Programação para Web 2 MÓDULO Programação para Web 2 USANDO O JSF Continuação Interdependência e Injeção Instâncias de Managed Beans podem conversar entre si para dividir o processamento das requisições dos usuários de acordo

Leia mais

" # $ %&'( ) *' ( +,)+ ( - $ (+*' 0 12 ' ( %+ -12 )+3 ) (4 )) ) % 12 ) *' (

 # $ %&'( ) *' ( +,)+ ( - $ (+*' 0 12 ' ( %+ -12 )+3 ) (4 )) ) % 12 ) *' ( ! " # $ %&'( ) *' ( +,)+ ( - $ (+*'.%/ 0 12 ' ( %+ -12 )+3 ) (4 )) ) % 12 ) *' ( 2 (5) '%'1%6% %/ )1%12 74 % +1%() %% % *8) + 9 "(:4 8) % ; *' 3 "( % '% + 4% % ) +' 455 %' 4 *' ( +% ) + %,)1 0 +

Leia mais

Curso de Java. Geração de Páginas WEB através de JSP. Todos os direitos reservados Klais

Curso de Java. Geração de Páginas WEB através de JSP. Todos os direitos reservados Klais Curso de Java Geração de Páginas WEB através de JSP Todos os direitos reservados Klais JSP e Servlets Servletsconstituem um mecanismo conveniente para a geração de páginas HTML dinâmicas e seu tratamento

Leia mais

Programação para Internet Flávio de Oliveira Silva, M.Sc.

Programação para Internet Flávio de Oliveira Silva, M.Sc. JavaServer Pages Basicamente JavaServer Pages (JSP), são páginas Web que contém código Java Este código é executado no servidor, antes da resposta ser devolvida ao Browser A tecnologia JSP é utilizada

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

3 Classes e instanciação de objectos (em Java)

3 Classes e instanciação de objectos (em Java) 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

JSP - JavaServer Pages

JSP - JavaServer Pages JSP - JavaServer Pages 1 Sumário O que é o JSP? Comparação com ASP, Servlets, e Javascript Disponibilidade Um exemplo simples Mais sobre Sintaxe Um pouco de JavaBeans Um exemplo mais complexo 2 O que são

Leia mais

Desenvolvimento Web com JSP/Servlets

Desenvolvimento Web com JSP/Servlets Desenvolvimento Web com JSP/Servlets Requisitos Linguagem Java; Linguagem SQL; Noções de HTML; Noções de CSS; Noções de Javascript; Configuração do ambiente JDK APACHE TOMCAT MySQL Instalando o JDK Instalando

Leia mais

Linguagem de Programação III Aula 2 Revisão Parte II

Linguagem de Programação III Aula 2 Revisão Parte II Linguagem de Programação III Aula 2 Revisão Parte II Prof. Moser Fagundes Curso Técnico em Informática (Modalidade Integrada) Instituto Federal Sul-Rio-Grandense (IFSul) Campus Charqueadas Revisão de PHP

Leia mais

Disparando o interpretador

Disparando o interpretador Capítulo 2: Usando o interpretador Python Disparando o interpretador O interpretador é frequentemente instalado como /usr/local/bin/python nas máquinas onde está disponível; adicionando /usr/local/bin

Leia mais

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04

Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04 Tencologia em Análise e Desenvolvimento de Sistemas Disciplina: WEB I Conteúdo: WEB Container Aula 04 Agenda 1. 2. Web Container TomCat 2 3 J2EE permite criar aplicações Web dinâmicas (com conteúdo dinâmico)

Leia mais

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec Guia de Consulta Rápida PHP com XML Juliano Niederauer Terceira Edição Novatec Copyright 2002 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL

Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Programação Orientada a Objetos com PHP & MySQL Sistema Gerenciador de Banco de Dados: Introdução e configuração de bases de dados com Postgre e MySQL Prof. MSc. Hugo Souza Iniciando nossas aulas sobre

Leia mais

Tecnologias para Web

Tecnologias para Web Tecnologias para Web Carlos Lucena lucena@inf.puc-rio.br Vitor Pellegrino vitorp@gmail.com Cidiane Lobato cidianelobato@yahoo.com.br Andrew Diniz andrew@les.inf.puc-rio.br Agenda Servlets MVC JSP Taglibs

Leia mais

Java Beans e Servlets

Java Beans e Servlets 6 Java Beans e Servlets Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Apresentar os recursos de orientação à objetos Java em JSP e integrá-los a tecnologia

Leia mais

ÁBACO TECNOLOGIA DE INFORMAÇÃO LTDA.

ÁBACO TECNOLOGIA DE INFORMAÇÃO LTDA. 2011 ÁBACO TECNOLOGIA DE INFORMAÇÃO LTDA. CNPJ 37.432.689/0001-33 Inscrição Estadual: 13.137.931-3 Rua Barão de Melgaço, 3726, Centro Norte CEP 78005-300 Fone: (65) 3617-0777 / FAX: (65) 3623-0646 CUIABÁ/MT

Leia mais

JavaServer Pages. Também são conhecidas pela sigla correspondente (JSP). Representam mais uma tecnologia da plataforma JEE.

JavaServer Pages. Também são conhecidas pela sigla correspondente (JSP). Representam mais uma tecnologia da plataforma JEE. Slide 1 Conceito Também são conhecidas pela sigla correspondente (JSP). Representam mais uma tecnologia da plataforma JEE. Uma JSP é uma página HTML com código Java embutido com o objetivo de fornecer

Leia mais

2 echo "PHP e outros.";

2 echo PHP e outros.; PHP (Hypertext Preprocessor) Antes de qualquer coisa, precisamos entender o que é o PHP: O PHP(Hypertext Preprocessor) é uma linguagem interpretada gratuita, usada originalmente apenas para o desenvolvimento

Leia mais

Sistemas para internet e software livre

Sistemas para internet e software livre Sistemas para internet e software livre Metodologia de modelagem de aplicações WEB Image: FreeDigitalPhotos.net Domínio: Elementos de aplicação WEB Páginas Web Scripts Formulários Applets e ActiveX Motivação

Leia mais

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Servlets Servlet Aplicação Java que é executada no servidor que estende a capacidade do servidor Web Alternativa Java para os scripts CGI Gerenciado

Leia mais

Introdução ao PHP. Prof. Késsia Marchi

Introdução ao PHP. Prof. Késsia Marchi Introdução ao PHP Prof. Késsia Marchi PHP Originalmente PHP era um assíncrono para Personal Home Page. De acordo com convenções para atribuições de nomes recursivas do GNU foi alterado para PHP Hypertext

Leia mais

EMENTA DO CURSO. Tópicos:

EMENTA DO CURSO. Tópicos: EMENTA DO CURSO O Curso Preparatório para a Certificação Oracle Certified Professional, Java SE 6 Programmer (Java Básico) será dividido em 2 módulos e deverá ter os seguintes objetivos e conter os seguintes

Leia mais

Material de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS - www.aas.pro.

Material de apoio a aulas de Desenvolvimento Web. Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS. AAS - www.aas.pro. Material de apoio a aulas de Desenvolvimento Web Tutorial Java WEB JSP & HTML & CSS & CLASSE & OBJETOS AAS - www.aas.pro.net Março-2012 Este pequeno tutorial tem como objetivo conduzir o programador passo-a-passo

Leia mais

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Software cliente: browser e outros Protocolo HTTP Infraestrutura de transporte

Leia mais

Módulo 06 Desenho de Classes

Módulo 06 Desenho de Classes Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos.

Leia mais

FBV - Linguagem de Programação II. Um pouco sobre Java

FBV - Linguagem de Programação II. Um pouco sobre Java FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base

Leia mais

Servlets, JSPs e Java Beans

Servlets, JSPs e Java Beans Servlets, JSPs e Java Beans Prof. Pasteur Ottoni de Miranda Junior PUC Minas Disponível em www.pasteurjr.blogspot.com 1-Servlets 1.1 O que são Servlets são classes Java executadas em servidores web. Servem

Leia mais

Aula 03 - Projeto Java Web

Aula 03 - Projeto Java Web Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação

Leia mais

Oracle PL/SQL Overview

Oracle PL/SQL Overview Faculdades Network Oracle PL/SQL Overview Prof. Edinelson PL/SQL Linguagem de Programação Procedural Language / Structured Query Language Une o estilo modular de linguagens de programação à versatilidade

Leia mais

Utilizem a classe Aula.java da aula passada:

Utilizem a classe Aula.java da aula passada: Introdução à Java Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Código Exemplo da Aula Utilizem a classe Aula.java da aula passada: public class Aula { public static void main(string[]

Leia mais

Parte I. Demoiselle Vaadin

Parte I. Demoiselle Vaadin Parte I. Demoiselle Vaadin O Vaadin é um framework para construção de interfaces web que aplica ideias inovadoras. Apesar de usar o GWT como mecanismo para a exibição de seus componentes, eles tem características

Leia mais

Estudo Dirigido - Parte 1

Estudo Dirigido - Parte 1 Linguagem Java para Web - JSP Professora Lucélia Estudo Dirigido - Parte 1 Na primeira parte deste tutorial, vamos receber os dados de um formulário e verificar se os dados foram ou não preenchidos. Se

Leia mais

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5 JavaScript Diego R. Frank, Leonardo Seibt FIT Faculdades de Informática de Taquara Fundação Educacional Encosta Inferior do Nordeste Av. Oscar Martins Rangel, 4500 Taquara RS Brasil difrank@terra.com.br,

Leia mais

JavaServer Pages JSP. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

JavaServer Pages JSP. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) JavaServer Pages JSP Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) O que é uma Página JSP? Tem a forma de uma página HTML com trechos de código Java embutidos e outras tags especiais A parte dinâmica

Leia mais

Java Server Pages JSP. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Java Server Pages JSP. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Java Server Pages JSP Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) O que é uma Página JSP? Tem a forma de uma página HTML com trechos de código Java embujdos e outras tags especiais A parte dinâmica

Leia mais

Universidade Federal do Espírito Santo CCA UFES. Centro de Ciências Agrárias CCA UFES Departamento de Computação. JavaScript

Universidade Federal do Espírito Santo CCA UFES. Centro de Ciências Agrárias CCA UFES Departamento de Computação. JavaScript Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Universidade Federal do Espírito Santo CCA UFES JavaScript Desenvolvimento de Sistemas para WEB Site:

Leia mais

Internet e Programação Web

Internet e Programação Web COLÉGIO ESTADUAL PEDRO MACEDO Ensino Profissionalizante Internet e Programação Web 3 Técnico Prof. Cesar 2014 1 SUMÁRIO Criar sites dinâmicos em PHP --------------------------------------------------------

Leia mais

Arquitetura de uma Webapp

Arquitetura de uma Webapp Arquitetura de uma Webapp Arquitetura J2EE Containers e componentes MVC: introdução Frederico Costa Guedes Pereira 2006 fredguedespereira@gmail.com Plataforma J2EE World Wide Web e a Economia da Informação

Leia mais

Escrito por Neri Neitzke Qua, 25 de Junho de 2014 14:51 - Última atualização Qua, 25 de Junho de 2014 14:54

Escrito por Neri Neitzke Qua, 25 de Junho de 2014 14:51 - Última atualização Qua, 25 de Junho de 2014 14:54 Java para Web 4, aprenda criar um sistema para web usando MVC (Model View Controller), DAO, JSTL, Custom Tags, HTML5, JavaScript, CSS3, Eclipse, Netbeans, postgresql powerdesigner. São 159 videoaulas em

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 2 Introdução aos aplicativos Java Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 2.1 Introdução Programação de aplicativo Java. Utilize as ferramentas do JDK para compilar

Leia mais

Algoritmos em Javascript

Algoritmos em Javascript Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays

Leia mais

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL

Laboratório de Banco de Dados Prof. Luiz Vivacqua. PL/pgSQL A Linguagem de programação do PostgreSQL Laboratório de Banco de Dados Prof. Luiz Vivacqua PL/pgSQL A Linguagem de programação do PostgreSQL 1) Visão Geral A PL/pgSQL é uma linguagem de programação procedural para o Sistema Gerenciador de Banco

Leia mais

Prova Específica Cargo Desenvolvimento

Prova Específica Cargo Desenvolvimento UNIVERSIDADE FEDERAL DO PIAUÍ Centro de Educação Aberta e a Distância CEAD/UFPI Rua Olavo Bilac 1148 - Centro CEP 64.280-001 Teresina PI Brasil Fones (86) 3215-4101/ 3221-6227 ; Internet: www.uapi.edu.br

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets

Programação Web. Professor: Diego Oliveira. Conteúdo 02: JSP e Servlets Programação Web Professor: Diego Oliveira Conteúdo 02: JSP e Servlets JSP JSP é um template de uma página Web que usa Java para gerar HTML dinamicamente JSP é considerado server-side e roda em um objeto

Leia mais

4 Conversor EDTV Raw. 4.1 Arquitetura

4 Conversor EDTV Raw. 4.1 Arquitetura 4 Conversor EDTV Raw O conversor EDTV Raw é o programa que lê um documento escrito no perfil NCL EDTV e gera um documento Raw equivalente, i.e. que define a mesma apresentação. Este capítulo, apresenta

Leia mais

Criando documentação com javadoc

Criando documentação com javadoc H Criando documentação com javadoc H.1 Introdução Neste apêndice, fornecemos uma introdução a javadoc ferramenta utilizada para criar arquivos HTML que documentam o código Java. Essa ferramenta é usada

Leia mais

AULA 12 CLASSES DA API JAVA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br

AULA 12 CLASSES DA API JAVA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br AULA 12 CLASSES DA API JAVA Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br CLASSES DA API JAVA A maioria dos programas de computador que resolvem problemas do

Leia mais

Sintaxe Básica de Java Parte 1

Sintaxe Básica de Java Parte 1 Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa Um programa

Leia mais

J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr

J2EE. Exemplo completo Utilização Servlet. Instrutor HEngholmJr J2EE Exemplo completo Utilização Servlet Instrutor HEngholmJr Page 1 of 9 AT09 Exemplo complete Utilização Servlet Version 1.1 December 5, 2014 Indice 1. BASEADO NOS EXEMPLOS DE CÓDIGO DESTA APOSTILA,

Leia mais

Instituto Federal do Sertão-PE. Curso de PHP. Professor: Felipe Correia

Instituto Federal do Sertão-PE. Curso de PHP. Professor: Felipe Correia Instituto Federal do Sertão-PE Curso de PHP Professor: Felipe Correia Conteúdo Parte I Parte II Introdução Funções de strings Instalação Constantes Sintaxe Operadores Variáveis if else elseif Echo/Print

Leia mais

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC

Arquitetura de Aplicações JSP/Web. Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Padrão Arquitetural MVC Arquitetura de Aplicações JSP/Web Ao projetar uma aplicação Web, é importante considerála como sendo formada por três componentes lógicos: camada

Leia mais

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse Como criar um EJB Criando um projeto EJB com um cliente WEB no Eclipse Gabriel Novais Amorim Abril/2014 Este tutorial apresenta o passo a passo para se criar um projeto EJB no Eclipse com um cliente web

Leia mais

Aula de JavaScript 05/03/10

Aula de JavaScript 05/03/10 Objetos Sabe-se que variável são contêiners que podem armazenar um número, uma string de texto ou outro valor. O JavaScript também suporta objetos. Objetos são contêiners que podem armazenar dados e inclusive

Leia mais

Manual de Utilização da Biblioteca VisPublica

Manual de Utilização da Biblioteca VisPublica Manual de Utilização da Biblioteca VisPublica Autores: Melise Paula Fernanda Ribeiro Aldeíde Brasil Tulio Moraes Bárbara Pimenta Guilherme Ferreira Versão: 2.1.4 Manual de Utilização da Biblioteca VisPublica

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

C.P.M. PROGRAMA DE CONTROLE PARA MICRO TERMINAL

C.P.M. PROGRAMA DE CONTROLE PARA MICRO TERMINAL C.P.M. PROGRAMA DE CONTROLE PARA MICRO TERMINAL xcpml Guia do Programador Versão.0. Agosto/0 Introdução Representado por um arquivo XML devidamente validado, um script de programação CPM cuida de toda

Leia mais

História. Nasceu em 1993, numa discussão entre Yuhikiro Matsumoto e um colega.

História. Nasceu em 1993, numa discussão entre Yuhikiro Matsumoto e um colega. 1 1. Overview 2 História Nasceu em 1993, numa discussão entre Yuhikiro Matsumoto e um colega. Matz procurava por uma linguagem de script orientada a objetos. A primeira versão estável de Ruby (1.2) foi

Leia mais

Laboratório EJB e J2EE Uma aplicação completa

Laboratório EJB e J2EE Uma aplicação completa J530 - Enterprise JavaBeans Laboratório EJB e J2EE Uma aplicação completa Helder da Rocha (helder@acm.org) argonavis.com.br 1 Objetivos O objetivo deste módulo é construir e implantar uma aplicação J2EE

Leia mais

Java para Desenvolvimento Web

Java para Desenvolvimento Web Java para Desenvolvimento Web Servlets A tecnologia Servlet foi introduzida pela Sun Microsystems em 1996, aprimorando e estendendo a funcionalidade e capacidade de servidores Web. Servlets é uma API para

Leia mais

Java para WEB. Servlets

Java para WEB. Servlets Servlets Servlets são classes Java que são instanciadas e executadas em associação com servidores Web, atendendo requisições realizadas por meio do protocolo HTTP. Servlets é a segunda forma que veremos

Leia mais

Informática I. Aula 6. http://www.ic.uff.br/~bianca/informatica1/ Aula 6-12/09/2007 1

Informática I. Aula 6. http://www.ic.uff.br/~bianca/informatica1/ Aula 6-12/09/2007 1 Informática I Aula 6 http://www.ic.uff.br/~bianca/informatica1/ Aula 6-12/09/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript e

Leia mais

Tecnologias para Web Design

Tecnologias para Web Design Tecnologias para Javascript e DOM Introdução à Scripts Um script do lado cliente é um programa que acompanha um documento HTML Pode estar incluído no próprio documento embutido ou acompanha-lo num arquivo

Leia mais

ruirossi@ruirossi.pro.br

ruirossi@ruirossi.pro.br Persistência Com JPA & Hibernate Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos

Leia mais

Programação Na Web. Sessão II. Índice. Visão geral da API Sessão. Obter dados sobre uma sessão. Extrair informação sobre uma Sessão

Programação Na Web. Sessão II. Índice. Visão geral da API Sessão. Obter dados sobre uma sessão. Extrair informação sobre uma Sessão Programação Na Web Sessão II António Gonçalves Índice Visão geral da API Sessão Obter dados sobre uma sessão Extrair informação sobre uma Sessão Adicionar Dados a uma sessão 1 Programação Na Web Motivação

Leia mais

RESUMO DOS IMPORTANTES

RESUMO DOS IMPORTANTES RESUMO DOS TÓPICOS + IMPORTANTES De instância (non-static) - estão no contexto da classe sem o modificador static De Classe (static) - estão no contexto da classe com o modificador static Local estão no

Leia mais

Introdução ao Javascript

Introdução ao Javascript Programação WEB I Introdução ao Javascript Apresentação da Disciplina,Introdução a linguagem Javascript Objetivos da Disciplina Apresentar os principais conceitos da linguagem Javascript referente à programação

Leia mais

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web: Web Browser como o processo cliente Servidor web com páginas estáticas Vs Aplicações dinâmicas para a Web: 1 Cliente Web browser HTTP porto 80 Servidor web... JDBC RMI XML... Base de Dados Aplicação em

Leia mais

Programação Web com PHP. Prof. Wylliams Barbosa Santos wylliamss@gmail.com Optativa IV Projetos de Sistemas Web

Programação Web com PHP. Prof. Wylliams Barbosa Santos wylliamss@gmail.com Optativa IV Projetos de Sistemas Web Programação Web com PHP Prof. Wylliams Barbosa Santos wylliamss@gmail.com Optativa IV Projetos de Sistemas Web Agenda O que é PHP? O que da pra fazer com PHP? Como a web funciona? Onde, quando e por que

Leia mais