Além do JSF: Matriz de Campos com Recursos e Práticas Incomuns

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

Download "Além do JSF: Matriz de Campos com Recursos e Práticas Incomuns"

Transcrição

1 Décio Heinzelmann Luckow é bacharel em Sistemas de Informação pela Univille e pósgraduando em Gestão de Projetos pela Sustentare Escola de Negócios. Já trabalhou com as linguagens ASP, PHP, Python e tem se especializado nas tecnologias Java, atuando no desenvolvimento Web e integração de sistemas. Possui as certificações Java SCJP 1.5 e SCWCD. Atua como analista de sistemas na TOTVS, na área de Inteligência Empresarial. É autor do livro Programação Java para a Web da editora Novatec, além de artigos pela revista MundoJ. Além do JSF: Matriz de Campos com Recursos e Práticas Incomuns Aprenda a construir uma tela unindo JSF e JSTL permitindo o cruzamento de informações por meio de campos em matriz. Este artigo ensinará como criar formulários com campos em matriz usando JavaServer Faces e JSTL, utilizando recursos como eventos de campos, validação e conversão. Serão abordadas duas técnicas diferentes para envio dos dados, além de recursos interessantes e práticas incomuns do JSF e JSTL. Estas técnicas são importantes para ir além da flexibilidade natural do JSF e criar telas muito mais dinâmicas. utilização de campos em matriz em um formulário permite a exibição e manutenção organizada de uma grande quantidade de informações. Esta técnica é especialmente interessante quando os dados a serem apresentados e editados representam o cruzamento de outras informações, como, por exemplo: valor por mês x categoria para uma planilha de orçamento. A característica fortemente dinâmica de um formulário em matriz construído da forma como demonstraremos permite que o montante dos dados apresentados seja alterado sem mexer na estrutura da tela construída. Para conseguir isto utilizaremos as tags básicas do JSF funcionando em conjunto com a JSTL, eventos de campo e um novo tipo de escopo de Managed Bean introduzido na versão 2 do JSF. Serão demonstradas duas técnicas diferentes para se obter os dados do formulário, sendo que a segunda técnica utilizará um recurso de uma forma pouco explorada no JSF. Este artigo mostrará recursos avançados do JavaServer Faces e soluções para problemas conhecidos por desenvolvedores experientes, porém a didática do artigo permite que o leitor com pouca experiência em JSF entenda e construa todo o exemplo proposto. 25

2 : : : : Campos em matriz com JavaServer Faces A criação de um formulário com matriz de campos não é algo inédito, este pode ser criado dinamicamente em JSP ou puramente com JSTL. Porém neste artigo vamos focar na criação deste mesmo recurso utilizando exclusivamente o JavaServer Faces e JSTL. Isto permite que possamos contar ao mesmo tempo com as facilidades e funcionalidades do JSF e com a organização e limpeza do código-fonte que ele provê. Neste artigo utilizaremos como padrão a Eclipse IDE para JavaEE, porém não existirá qualquer recurso exclusivo desta IDE, sendo que você poderá utilizar uma diferente se preferir. No Eclipse crie um novo Dynamic Web Project chamado matrizjsf (consulte o quadro Configurando o Apache Tomcat no Eclipse se necessário). Copie para a pasta WEB-INF\lib do projeto as bibliotecas do JSF 2 e JSTL 1.2. O JSF2 é composto pelos arquivos jsf-api.jar e jsf-ri.jar que podem ser obtidos no endereço javaserverfaces.dev.java.net/. Já o JSTL é composto pelos arquivos jstl-api-1.2.jar e jstl-impl-1.2.jar e pode ser obtido no endereço Configurando o Apache Tomcat no Eclipse Para que se possa executar um Dynamic Web Project no Eclipse é necessário ter um servidor web configurado. Para isso vamos configurar o Apache Tomcat dentro do Eclipse. Para obter o servidor web Apache Tomcat, acesse o site tomcat.apache.org e faça o download o arquivo ZIP da versão 6.0, extraindo-o na sua unidade c:. No Eclipse acesse Window > Preferences > Server > Runtime Environments. Clique em Add e selecione Apache Tomcat 6, clique em Next; selecione o local de instalação do Apache Tomcat e clique em Finish. Clique com o botão direito do mouse no projeto criado (matrizjsf) e selecione Run As > Run on Server. Selecione novamente Apache Tomcat 6, clique em Next e depois em Finish. Neste momento o servidor Apache Tomcat já irá iniciar por dentro do Eclipse. Crie também uma página padrão do projeto com o nome index.jsp na pasta WebContent. Esta poderá ter o link para a página JSF de orçamento que criaremos em seguida, conforme o exemplo: <a href="orcamento.jsf">exemplo Orçamento</a> Para manipular o servidor posteriormente acesse a view Servers (Window > Show View > Server), clique com o botão direito do mouse no servidor em questão e acione Start, Stop ou Restart. A configuração necessária será no arquivo \WEB-INF\web.xml e será apenas a configuração básica do JSF, conforme a Listagem 1. Para exemplificar este artigo construiremos uma página de orçamento, onde será possível informar um valor para cada combinação de categoria e mês. Desta forma, o usuário poderá informar R$ 250 para Alimentação em janeiro, R$ 500 para Educação em julho e assim por diante. Como a página é totalmente dinâmica você poderá exibir quantos meses e quantas categorias quiser, ou ainda utilizar esta mesma técnica para o cruzamento de outros tipos de informação. Listagem 1. Configuração do aplicativo no arquivo web.xml. <?xml version= 1.0 encoding= UTF-8?> <web-app...> <display-name>mundoj</display-name> <servlet> <servlet-name>faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.facesservlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>faces Servlet</servlet-name> <url-pattern>*.jsf</url-pattern> </servlet-mapping> <context-param> <param-name>javax.faces.default_suffix</param-name> <param-value>.xhtml</param-value> </context-param> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> Na classe OrcamentoBean teremos dois java.util.list categoria e mês que serão populados no construtor com as informações que queremos cruzar. Veja que estes dois List estão sendo populados com a String do nome da categoria e do mês. Para saber como guardar mais informações para cada item neste List, consulte o quadro Incrementando o cruzamento de informações. Além disso, criamos um Map<String,Map<String,Float>> que preencherá e receberá as informações do formulário, este está declarado como um Map dentro do outro, o que garante que tenhamos duas chaves String para cada valor. Cada campo que for gerado no formulário JSF referenciará uma combinação de categoria e mês. Por isso que é obrigatório que cada posição desta seja criada no Map previamente. Desta forma, a inicialização do Map com todas as combinações possíveis é obrigatória. Esta inicialização deve ser chamada dentro do método getvalores() da classe OrcamentoBean, quando a referência valores estiver nula, conforme a Listagem 2. Veja que esta classe tem as anotações comuns do JSF para um managed bean, que indicando que será criada uma nova instância desta classe para cada requisição realizada pelo usuário. Listagem 2. Código-fonte da classe OrcamentoBean. package br.com.mundoj.web; import java.util.*; public class OrcamentoBean { private List<String> categorias = new ArrayList<String>(); private List<String> meses = new ArrayList<String>(); private Map<String,Map<String,Float>> valores; 26

3 Cont. Listagem 2. Código-fonte da classe OrcamentoBean. public OrcamentoBean() { this.categorias = Arrays.asList(new String[]{ Alimentação, Educação, Transportes, Lazer, Saude, Impostos ); this.meses = Arrays.asList(new String[]{ Jan, Fev, Mar, Abr, Mai, Jun, Jul, Ago, Set, Out, Nov, Dez ); private void inicializavalores() { this.valores = new HashMap<String,Map<String,Float>>(); Map<String, Float> valormes = null; for (String cat:this.categorias) { valormes = new HashMap<String, Float>(); for (String mes:this.meses) { valormes.put(mes, new Float(0)); this.valores.put(cat, valormes); public void salvar() { Map<String, Float> valormes = null; for (String cat:this.categorias) { valormes = this.valores.get(cat); for (String mes:this.meses) { System.out.println(cat+ x +mes+ = +valormes.get(mes)); public Map<String, Map<String, Float>> getvalores() { if (this.valores == null) { this.inicializavalores(); return this.valores; public void setvalores(map<string, Map<String, Float>> valor) { this.valores = valor; public List<String> getcategorias() {return categorias; public void setcategorias(list<string> categorias) { this.categorias = categorias; public List<String> getmeses() {return meses; public void setmeses(list<string> meses) {this.meses = meses; Ainda na classe da Listagem 2, o método salvar() será referenciado pelo botão Salvar da tela. Quando este método for chamado, o JSF já terá preenchido o Map valores com todos os dados que estavam em tela. A partir deste ponto, você poderá navegar por este Map da mesma forma que fez a navegação na inicialização para obter o valor para cada combinação de categoria e mês, conforme já está codificado no método salvar(). A partir deste ponto você pode fazer a persistência destas informações da forma que quiser, não sendo este o objetivo do artigo. A página de orçamento será construída usando xhtml, que é o formato padrão para o JSF 2. Esta página utilizará tags do JSF e do JSTL, o que apresentará um case bastante interessante de união destas duas tecnologias. Muito se comenta atualmente sobre o uso dos componentes do JSF e das tags do JSTL juntos, sabe-se que o uso do JSTL está bastante limitado em conjunto com o JSF e que em diversos casos recomenda-se substituir a tag <c:foreach> pela <ui:repeat> e a <c:if> pelo uso do atributo rendered dos componentes JSF, por exemplo. Porém, esta limitação se dá pelo fato das tags do JSTL e dos componentes do JSF terem ciclos de vida diferentes, sendo que estes são executados em momentos diferentes durante o processamento de uma página JSF. Por isso é preciso entender bem como atua o JSTL e JSF no processamento de uma página para saber quando usá-los. Veja o quadro Compatibilidade entre JSF e JSTL para se aprofundar nestas diferenças de ciclos de vida. Compatibilidade entre JSF e JSTL O JSTL nasceu há muito tempo para facilitar o desenvolvimento de páginas JSP, ele cria tags amigáveis para serem utilizadas no lugar de scriptlets contendo lógica de programação, os famosos <%%>. O problema é que o ciclo de vida de uma página JSP é totalmente diferente do ciclo de vida de uma página JSF. O JSP é focado em gerar HTML para ser diretamente entregue ao navegador, já o JSF é focado em criar uma árvore de componentes, que posteriormente serão renderizados em formato HTML. Porém a etapa de gerar o HTML de uma página JSF (fase Render Response) é apenas a última fase do seu ciclo de vida, antes disso ainda temos as fases: Restore view Apply request values Process validations Update model values Invoke application Render response Todas estas fases trabalham em cima de uma árvore de componentes que foi definida na página JSF (que hoje pode ser um JSP ou XHTML). Quando o JSP é usado juntamente com JSF ele também passa a ter como único objetivo a montagem da árvore de componentes do JSF (para o XHTML isto é natural) e não a geração direta do HTML como é originalmente. Por isso é que atualmente a utilização do JSTL junto ao JSF é limitado a aquelas tags que não têm como objetivo direto a geração do HTML, mas sim de manipular a árvore de componentes da página. Desta forma, tags como <c:out>, <c:import>, <c:redirect> e <c:url> não estão mais disponíveis para as páginas JSF sejam elas usando JSP ou XHTML. Hoje, apesar do JSF funcionar com o JSP, o formato de página oficial é o XHTML, o JSP se mantém como opção por questões políticas e de legado. Na página que construiremos vamos utilizar a tag <c:foreach> em uma situação bastante interessante e que deixará bem clara a sua utilidade neste caso e como ela funciona. Veja na Listagem 3 como a página ficou construída. 27

4 : : : : Listagem 3. Código-fonte da página orcamento.xhtml. <?xml version= 1.0 encoding= ISO ?> <!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN > <html xmlns= xmlns:c= xmlns:h= xmlns:f= > <h:head> <title>orçamento</title> </h:head> <h:body> <h1>orçamento</h1> <h:form id= orcamento > <h:messages /> <h:datatable value= #{orcamentobean.categorias var= cat > <h:column> <f:facet name= header >Categoria</f:facet> <h:outputtext value= #{cat /> </h:column> <c:foreach var= mes items= #{orcamentobean.meses > <h:column> <f:facet name= header >#{mes</f:facet> value= #{orcamentobean.valores[cat][mes] size= 2 style= text-align: right; /> </h:column> </c:foreach> </h:datatable> <h:commandbutton action= #{orcamentobean.salvar value= Salvar /> </h:form> </h:body> </html> Podemos perceber que a <h:datatable> irá trabalhar com as informações das categorias, ou seja, a datatable de orçamento terá os nomes das categorias como linhas. A primeira coluna desta tabela terá como rótulo o texto Categoria e como valor o nome de cada categoria declarada na classe OrcamentoBean. As colunas seguintes desta datatable serão formadas por cada mês que ficou declarado na classe. Perceba que a segunda <h:column> está envolvida em uma tag <c:foreach>, ou seja, estaremos gerando uma <h:column> para cada mês. Neste caso, o <c:foreach> está atuando como um gerador de código-fonte JSF. Ele consegue isto pelo fato do JSTL ser executado antes do JSF no processamento da página. É justamente por isso que o uso do JSTL está limitado junto com o JSF. Devido a este comportamento, você não pode utilizar tags JSTL que dependam de valores gerados por tags JSF, pois na verdade o JSTL executa antes do JSF. Porém, ao mesmo tempo, os managed beans do JSF estão disponíveis para JSTL, por isto que conseguimos fazer o <c:foreach> navegar pelos meses do orcamentobean. Perceba também que neste caso o uso da tag <ui:repeat> do Facelets para gerar as colunas da datatable não seria possível, pois a tag <ui:repeat> não será aceita como uma sub-tag da <h:datatable>. O caso do <c:foreach> funciona corretamente, pois na verdade o JSF nem sabe da existência dele, já que o JSF só irá trabalhar com o conteúdo que já foi previamente gerado pelo JSTL, ou seja, uma porção de <h:columns> para os meses declarados. Agora analisando melhor o uso do <c:foreach> e do <h:column> no exemplo da Listagem 3 podemos perceber que a quantidade de loops do <c:foreach> será dada pela quantidade de meses declarados. Veja que o <c:foreach> está sendo alimentado com a informação meses do managed bean orcamentobean. Para definirmos o rótulo da coluna de cada mês e a indexação do Map, utilizamos o var= mes definido no <c:foreach> que contém o mês do loop atual. O campo que exibirá e receberá os valores na tela será definido pelo componente do JSF >. O atributo value deste componente apontará para a expressão #{orcamentobean. valores[cat][mes]. Veja que mesmo sendo um Map e não um array, a expressão UEL utilizada funciona como se fosse um array e que, neste caso, está sendo indexado por valores String. Se a propriedade valores fosse um Float[][], por exemplo, esta expressão seria a mesma, só que teria que ser indexado por valores numéricos. Para testar o exemplo proposto, basta fazer o Start do servidor e abrir a url conforme a figura 1. Incrementando o cruzamento de informações Figura 1. Tela JSF com campos em matriz. No exemplo, os java.util.list de categorias e meses são alimentados diretamente com Strings dos nomes das categorias e dos meses. Porém, conforme a necessidade, você poderia utilizar também objetos POJO do Java, contendo, por exemplo, número e nome do mês, e código e descrição da categoria. Ao invés de fazer um categorias.add( Alimentação ), faria um categorias.add(new Categoria(1, Alimentação )), sendo o mesmo para os meses. Para o caso da utilização da classe POJO, lembre-se que é necessária a implementação dos métodos equals() e hashcode() corretamente. O Eclipse possui recurso para gerar automaticamente estes dois métodos, para isso acesse o menu de contexto da classe, opção Source > Generate hashcode() and equals(), depois que já tiver definido as propriedades da classe. Neste caso, ao exibir o nome do mês e descrição da categoria, utilizaria as seguintes expressões respectivamente: #{mes. nome e #{cat.descricao. Assim como a indexação do Map já utilizado, ou de um Float[][] para os valores, poderia ser feito usando números com indexadores, exemplo: #{orcamentobean.valores[cat.codigo][mes.numero]. 28

5 Reconhecendo os valores alterados O exemplo construído até agora exibe e envia todos os valores do formulário, que podem ser manipulados no método salvar(). Mas se quiséssemos receber apenas os valores que foram alterados no formulário e não todos, como fazer? Neste caso entra um recurso bastante interessante do JSF que é o valuechangelistener. Este permite que um método específico seja chamado somente se o valor do campo em questão for alterado. Diferente do que a maioria das pessoas pensa, este método somente será chamado quando o formulário for submetido, e não quando o usuário sair do campo em tela. Além disso, ele será chamado antes do método que disparou a ação, neste caso o método referenciado no atributo valuechangelistener será chamado antes do método salvar(). Para utilizar o valuechangelistener, o primeiro passo é incluir este atributo no campo em questão, apontando para o método que deverá se chamado, conforme a Listagem 4. Listagem 4. Fragmento de código para utilizar o valuechangelistener. value= #{orcamentobean.valores[cat][mes] size= 2 style= text-align: right; valuechangelistener= #{orcamentobean.mudouvalor /> O método para o qual apontará o atributo valuechangelistener deverá ter a seguinte assinatura: void meumetodo(javax.faces. event.valuechangeevent). Neste caso, este método receberá um objeto ValueChangeEvent contendo as informações do evento ocorrido. Dentre as informações mais interessantes podemos destacar os métodos event.getoldvalue() e event.getnewvalue(), fornecendo o antigo e o novo valor do campo, respectivamente. O valuechangelistener funcionará em qualquer condição, porém a informação do getoldvalue() somente estará disponível se o escopo do managed bean da tela for maior que o request, ou seja, funcionará com ApplicationScoped. Isto porque, diferente do que muitos pensam, o old value não é que o valor do campo antes da tela ser exibida, mas o valor do campo antes de receber o novo valor, quando o formulário for submetido. Por isso que o managed bean precisa ter um escopo maior que uma requisição, ou seja, que a instância do managed bean não deixe de existir ao final de uma requisição. Caso o managed bean não seja de uns dos escopos sugeridos, o evento value change sempre será disparado, pois neste caso o old value será sempre nulo e o new value será o valor da tela, ou seja, valores diferentes. Por isso no caso da classe OrcamentoBean, seu escopo deve ser alterado que foi introduzido na última versão do JSF. Ele tem este nome justamente porque a instância do managed bean fica armazenada na tela (na view). Desta forma, a instância do managed bean se manterá a mesma enquanto a mesma tela estiver sendo exibida, o usuário pode recarregar, submeter e reexibir a tela, que a instância continuará existindo. Outra questão importante, mas que está restrita ao fato de trabalharmos com informações em matriz é quanto ao valor do campo que receberemos no evento value change. O fato de sabermos qual o new value do campo alterado não nos diz de qual categoria e de qual mês este valor veio. Como podemos resolver esta questão? Neste momento entra como sugestão um uso incomum para uma tag do JSF, que é a tag <f:attribute>. Desta forma, criaremos nossos próprios atributos para os campos da matriz, e recuperando-os na ocorrência do evento. Veja na Listagem 5 como ficará a definição do campo utilizando este recurso. Listagem 5. Uso customizado da tag <f:attribute>. value= #{orcamentobean.valores[cat][mes] size= 2 style= text-align: right; valuechangelistener= #{orcamentobean.mudouvalor > <f:attribute name= cat value= #{cat /> <f:attribute name= mes value= #{mes /> </h:inputtext> Mesmo que os atributos cat e mes não sejam oficiais do JSF, ele aceita que estes sejam definidos. Veja na Listagem 6 como ficará definido o método mudouvalor() na classe OrcamentoBean, e a recuperação dos atributos customizados. Listagem 6. Método mudouvalor da classe OrcamentoBean. public void mudouvalor(valuechangeevent event) { String cat = (String) event.getcomponent().getattributes().get( cat ); String mes = (String) event.getcomponent().getattributes().get( mes ); Float _old = (Float) event.getoldvalue(); Float _new = (Float) event.getnewvalue(); System.out.println(cat+ x +mes+ de: + _old + para: + _new); Validação Listagem 7. Identificação do campo para validação. value= #{orcamentobean.valores[cat][mes] size= 2 style= text-align: right; label= Valor para #{cat em #{mes required= true valuechangelistener= #{orcamentobean.mudouvalor > <f:attribute name= cat value= #{cat /> <f:attribute name= mes value= #{mes /> </h:inputtext> Uma questão importante, caso seja necessário algum tipo de validação para os campos em matriz é como identificar o campo que não passou na validação. O componente >, assim como os outros campos de formulário, possuem o atributo label. Este atributo é a identificação do campo para as mensagens de validação. Para o caso de matriz de campos é interessante identificar no label o cruzamento das informações. Na Listagem 7 exibimos a configuração deste campo para que seja facilmente identificável em uma mensagem de validação. Utilizando uma validação básica como o required= true e o atributo label, ao submeter o formulário com algum campo em branco a seguinte mensagem será apresentada. Valor para Alimentação em Fev: Erro de validação: o valor é necessário. 29

6 : : : : 30 Formatação e conversão Listagem 8. Conversor customizado para campo Float em matriz. package br.com.mundoj.web; import java.text.numberformat; import java.text.parseexception; import javax.faces.component.uicomponent; import javax.faces.context.facescontext; import javax.faces.convert.converter; import javax.faces.convert.converterexception; import = mundoj.decimalconverter ) public class DecimalConverter implements Converter { private NumberFormat nf; public DecimalConverter() { this.nf = NumberFormat.getNumberInstance(); this.nf.setminimumfractiondigits(2); public Object getasobject(facescontext context, UIComponent component, String value) { try { return new Float(nf.parse(value).floatValue()); catch (ParseException e) { throw new public String getasstring(facescontext context, UIComponent component, Object value) { return nf.format(value); Como você deve ter percebido, os valores que estão sendo apresentados no formulário estão no formato padrão do Java 0.0 e não 0,00 como seriam de se esperar para informação monetária no Brasil. Para uma questão como essa a primeira solução que vem a mente é utilizar a tag <f:numberformat> que tem justamente como objetivo a formatação nesta situação. Porém, talvez por um comportamento padrão do JSF ou a forma altamente dinâmica na qual este exemplo foi construído, somente neste caso o JSF não respeita o tipo Float de destino quando utilizamos o <f:numberformat>. Como consequência, se for digitado um valor 25 ele entenderá como um Long, se for digitado um valor 25,5 ele entenderá como um Float. Da mesma forma, os campos que forem mantidos como 0,00 terão o seu old value como Float e o seu new value como Long. Isto faz com que o JSF ache que todos os campos do formulário sofreram alteração, pois o tipo do old value está diferente do new value, mesmo que o valor nominal seja o mesmo. Assim, para todos os campos o método mudouvalor() será acionado, mesmo que o valor não tenha sido alterado. Neste caso, qual seria a forma correta de se formatar o valor do campo sem que estes problemas ocorram? A solução é criar um conversor customizado que force a conversão para o tipo Float, o que no JSF pode ser feito em algumas linhas de código, conforme a Listagem 8. Nesta classe, a se encarrega de nomear este conversor como mundoj.decimalconverter. Este nome deve ser utilizado ao configurar o > da tela, informando o atributo converter= mundoj.decimalconverter. Livro Programação Java para a Web Considerações finais Este artigo apresentou não apenas a criação de um formulário em matriz usando o JSF, mas também diversos outros recursos que podem ser aplicados de diversas formas aos seus projetos. A criação de uma página de orçamento para este objetivo segue a ideia de ensinar a tecnologia por meio de exemplos úteis e interessantes. Esta abordagem de utilizar exemplos interessantes para ensinar Java também é adotada pelo livro Programação Java para a Web da editora Novatec ( Este livro possui uma temática inovadora, com enfoque extremamente prático, que mostra passo a passo como desenvolver uma aplicação web utilizando a linguagem Java e as tecnologias mais poderosas e populares no arsenal dos desenvolvedores, como JavaServer Faces e Hibernate.O método utilizado no livro se baseia no projeto de uma aplicação financeira pessoal, em que são abordadas várias técnicas de desenvolvimento em cada etapa do projeto, desde as mais tradicionais e conhecidas até as mais modernas e avançadas. O artigo apresenta recursos que podem complementar seus próprios projetos e o projeto abordado no livro, tornando-os ainda mais interessantes. Além disso, o livro também aborda os requisitos básicos de um sistema construído de forma profissional em Java, como: JavaServer Faces, Hibernate, Facelets, CSS, Spring Security, Ajax, PrimeFaces, internacionalização, ireport e Jasper Reports, JfreeChart, WebServices e busca de informações em meios externos. Este artigo mostrou de forma prática a construção de uma tela em JavaServer Faces que exibe e edita informações em matriz. Utilizou recursos como união do JSF e ValueChangeListener, validação e conversão/formatação de valores. Porém, mais do que isso, mostrou diversas técnicas interessantes e incomuns no desenvolvimento JSF e que poderão ser reaproveitadas pelo leitor em contextos diferentes do apresentado Referências Livro Programação Java para a Web; Luckow, Décio Heinzelmann; Melo, Alexandre Altair de. Editora Novatec Java EE Tutorial. Site do JSF: Site do JSTL: Site do Apache Tomcat: Site do Eclipse:

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade

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

Acessando um Banco de Dados

Acessando um Banco de Dados Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para

Leia mais

INTRODUÇÃO À TECNOLOGIA SERVLETS

INTRODUÇÃO À TECNOLOGIA SERVLETS PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO À TECNOLOGIA SERVLETS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o conceito aplicações orientada a serviços via web Apresentar o papel dos contentores

Leia mais

FACULDADE DE TECNOLOGIA SENAC GOIÁS CONTROLE DE ACESSO USANDO O FRAMEWORK RICHFACES. 5º PERÍODO Gestão da Tecnologia da Informação

FACULDADE DE TECNOLOGIA SENAC GOIÁS CONTROLE DE ACESSO USANDO O FRAMEWORK RICHFACES. 5º PERÍODO Gestão da Tecnologia da Informação FACULDADE DE TECNOLOGIA SENAC GOIÁS CONTROLE DE ACESSO USANDO O FRAMEWORK RICHFACES 5º PERÍODO Gestão da Tecnologia da Informação Alunos: Alessandro Aparecido André Alexandre Bruno Santiago Thiago Castilho

Leia mais

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. <marlon.carvalho@gmail.com> Rodrigo Hjort. <rodrigo.hjort@gmail.com> Robson Ximenes

Demoiselle Report Guide. Demoiselle Report. Marlon Carvalho. <marlon.carvalho@gmail.com> Rodrigo Hjort. <rodrigo.hjort@gmail.com> Robson Ximenes Demoiselle Report Guide Demoiselle Report Marlon Carvalho Rodrigo Hjort Robson Ximenes Demoiselle Report... v 1. Configuração

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

02 - Usando o SiteMaster - Informações importantes

02 - Usando o SiteMaster - Informações importantes 01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,

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

Criação de um novo projeto no Eclipse utilizando Maven

Criação de um novo projeto no Eclipse utilizando Maven 1. Faça o download da versão mais atual do Eclipse IDE for Java EE Developers em https://www.eclipse.org/downloads/. 2. No Eclipse, crie um novo projeto Maven, em File >> New >> Maven Project 3. Marque

Leia mais

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

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

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

JSF e PrimeFaces. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul JSF e PrimeFaces Professor: Ricardo Luis dos Santos IFSUL 2015 Agenda Introdução Desenvolvimento Web Java Server Faces Exercício 2 Introdução Ao longo dos anos diversas linguagens de programação foram

Leia mais

INTRODUÇÃO 12. DOCUMENTAÇÃO INTRODUÇÃO INTRODUÇÃO

INTRODUÇÃO 12. DOCUMENTAÇÃO INTRODUÇÃO INTRODUÇÃO INTRODUÇÃO 12. DOCUMENTAÇÃO Na plataforma Java SE 7, há cerca de 4000 classes e interfaces disponíveis para utilizarmos em nossas aplicações Podemos visualizar a documentação dessas classes e interfaces

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Introdução. <facelets> Templates. Configurações. Componentes. Prof. Enzo Seraphim

Introdução. <facelets> Templates. Configurações. Componentes. Prof. Enzo Seraphim Introdução Templates Configurações Componentes Prof. Enzo Seraphim Definição Linguagem de descrição de páginas (PDL Page Description Language) criada para JSF. Estabelece templates que suportam

Leia mais

Lógica de Programação

Lógica de Programação Lógica de Programação Softblue Logic IDE Guia de Instalação www.softblue.com.br Sumário 1 O Ensino da Lógica de Programação... 1 2 A Ferramenta... 1 3 Funcionalidades... 2 4 Instalação... 3 4.1 Windows...

Leia mais

Programando em PHP. Conceitos Básicos

Programando em PHP. Conceitos Básicos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Conceitos Básicos Todo o escopo deste estudo estará voltado para a criação de sites com o uso dos diversos recursos de programação web

Leia mais

ANDROID APPLICATION PROJECT

ANDROID APPLICATION PROJECT Criando um programa Abrindo o programa Eclipse, clique na opção [FILE], depois em [NEW], selecione a opção [PROJECT], uma janela de opção do tipo de projeto irá se abrir, escolha [ANDROID] logo depois

Leia mais

Anotações e Navegação no JSF 2.0

Anotações e Navegação no JSF 2.0 1/16 Anotações e Navegação no JSF 2.0 Simplifique a navegação e a configuração XML com o JSF 2.0 Aprenda a utilizar anotações e navegações implícita e condicional em suas aplicações JSF 2.0 MARCEL TOKARSKI

Leia mais

Ambientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014

Ambientação JAVA. Versão 0.1 MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 UNIVERSIDADE CEUMA 08/01/2014 UNIVERSIDADE CEUMA Ambientação JAVA Versão 0.1 08/01/2014 Este é um modelo de configuração para desenvolvimento no ambiente Java. MICHEL CORDEIRO ANALISTA DE NEGÓCIO (NTI 2014) 1 Sumário Sumário... 2 1

Leia mais

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade

Follow-Up Acompanhamento Eletrônico de Processos (versão 3.0) Manual do Sistema. 1. Como acessar o sistema Requisitos mínimos e compatibilidade do Sistema Índice Página 1. Como acessar o sistema 1.1 Requisitos mínimos e compatibilidade 03 2. Como configurar o Sistema 2.1 Painel de Controle 2.2 Informando o nome da Comissária 2.3 Escolhendo a Cor

Leia mais

Trecho retirando do Manual do esocial Versão 1.1

Trecho retirando do Manual do esocial Versão 1.1 Trecho retirando do Manual do esocial Versão 1.1 A rotina de acesso direto ao XML do S-1000, o usuário pode encontrar na opção de cadastro de Empresas do SIP. Sempre que o usuário localizar a figura ao

Leia mais

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments

Criação de Servlets Name Directory Build WAR JSP/Servlet frameworks Launch URL Package Class name Generate header comments Criação de Servlets 1. Crie um novo projeto através do Menu File New Project. 2. Acesse o Menu File New. 3. Na janela Object Gallery que surgirá, selecione a guia Web. 4. Escolha o ícone que corresponde

Leia mais

Criando & Consumindo um WebService com ASP.NET 2.0 Publicado em: 25 de Agosto de 2007 Por Herman Ferdinando Arais

Criando & Consumindo um WebService com ASP.NET 2.0 Publicado em: 25 de Agosto de 2007 Por Herman Ferdinando Arais ASP.NET > WebService herman_arais@yahoo.com.br Introdução Um WebService é um componente, ou unidade lógica de aplicação, acessível através de protocolos padrões de Internet. Como componentes, esses serviços

Leia mais

DWR DIRECTED WEB REMOTING

DWR DIRECTED WEB REMOTING DWR DIRECTED WEB REMOTING Vamos ver nesse artigo um pouco sobre o Frameworks Ajax para Java, o DWR. Vamos ver seus conceitos, utilidades, vantagens, algumas práticas e fazer o passo a passo para baixar,

Leia mais

Programação Java para a Web Décio Heinzelmann Luckow Alexandre Altair de Melo

Programação Java para a Web Décio Heinzelmann Luckow Alexandre Altair de Melo Programação Java para a Web Décio Heinzelmann Luckow Alexandre Altair de Melo Novatec Copyright 2010 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida

Leia mais

Parte I. Demoiselle Mail

Parte I. Demoiselle Mail Parte I. Demoiselle Mail Para o envio e recebimento de e-s em aplicativos Java, a solução mais natural é usar a API JavaMail [http:// www.oracle.com/technetwork/java/java/index.html]. Ela provê um framework

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

Demoiselle Tutorial Módulo 1 Arquitetura

Demoiselle Tutorial Módulo 1 Arquitetura Demoiselle Tutorial Módulo 1 Arquitetura Vanderson Botelho da Silva (SERPRO/SUPST/STCTA) Emerson Sachio Saito (SERPRO/CETEC/CTCTA) Flávio Gomes da Silva Lisboa (SERPRO/CETEC/CTCTA) Serge Normando Rehem

Leia mais

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software

MANUAL DO ANIMAIL 1.0.0.1142 Terti Software O Animail é um software para criar campanhas de envio de email (email Marketing). Você pode criar diversas campanhas para públicos diferenciados. Tela Principal do sistema Para melhor apresentar o sistema,

Leia mais

Criando uma agenda simples com NetBeans 6.5

Criando uma agenda simples com NetBeans 6.5 Criando uma agenda simples com NetBeans 6.5 (Swing application framework e Beansbinding) Já faz algum tempo que escrevi uma agenda simples usando o Eclipse com o Visual Class Editor. Demorei em torno de

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

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte.

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte. Omondo EclipseUML Ricardo Rodrigues Lecheta Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte. Introdução Neste tutorial será apresentado

Leia mais

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados Módulo e-rede OpenCart v1.0 Manual de Instalação do Módulo estamos todos ligados 01 02 03 04 Introdução 3 Versão 3 Requerimentos 3 Manual de instalação 4 05 06 4.1 vqmod 4 4.2 Instalação e ativação do

Leia mais

Software. Gerenciamento de Manutenção

Software. Gerenciamento de Manutenção Software Gerenciamento de Manutenção Tutorial Passo a Passo Do Cadastro de Serviço à Consulta de Serviços Realizados Tutorial Recomendações AsinformaçõesutilizadasnestetutorialsãoasmesmasquevocêtemnoseuBancodeDados

Leia mais

JSP: JAVA SERVER PAGES

JSP: JAVA SERVER PAGES PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB JSP: JAVA SERVER PAGES Prof. Dr. Daniel Caetano 2012-1 Objetivos Compreender o que é e como funciona o JSP Compreender as tags do JSP Capacitar para a substituição

Leia mais

Servlets e Applets, funcionamento e comparativo.

Servlets e Applets, funcionamento e comparativo. Servlets e Applets, funcionamento e comparativo. Airon Rabel Teixeira Rua Guarapuava Joinville SC airon@ymail.com Resumo: Este artigo explica de maneira breve o funcionamento de servlets e applets, mostrando

Leia mais

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Compartilhamento de Arquivos no Google Drive Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Utilização do Google Grupos Introdução...

Leia mais

Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007

Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007 Tutorial para criação de componentes JSF Facelets Por Érico GR 07/08/2007 Nível: Intermediário Este tutorial tem como objetivo criar um simples componente que renderiza uma tag label utilizando recursos

Leia mais

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva 1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade

Leia mais

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM ÍNDICE ITEM Página 1. Objetivo... 3 2. Requisitos... 3 3. Diretório do Slim... 3 4. Procedimento para Transferência de Servidor... 3 4.1 Compartilhamento da

Leia mais

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5. Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5. Ele considera que você já tem o Joomla! instalado no seu computador. Caso você queira utilizá lo em um servidor na web,

Leia mais

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova.

Vamos criar uma nova Página chamada Serviços. Clique em Adicionar Nova. 3.5 Páginas: Ao clicar em Páginas, são exibidas todas as páginas criadas para o Blog. No nosso exemplo já existirá uma página com o Título Página de Exemplo, criada quando o WorPress foi instalado. Ao

Leia mais

RevISTa: Publicação técnico-científica do IST-Rio. nº 05 Data: Dezembro / 2012 ISSN 2178-5589.

RevISTa: Publicação técnico-científica do IST-Rio. nº 05 Data: Dezembro / 2012 ISSN 2178-5589. Tutorial de Instalação e Uso do Eclipse Alexandre V. S. Lage, Caio de O. Leal, Eduardo A. F. da Silva, Felipe C. C. Trindade, Gutierre da C. Oliveira e Miguel G. P. de Carvalho. INTRODUÇÃO O Eclipse (2012)

Leia mais

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM ÍNDICE ITEM Página 1. Objetivo... 3 2. Requisitos... 3 3. Diretório do Millennium... 3 4. Procedimento para Transferência de Servidor... 3 4.1 Compartilhamento

Leia mais

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco). Permissões de compartilhamento e NTFS - Parte 2 Criando e compartilhando uma pasta - Prática Autor: Júlio Battisti - Site: www.juliobattisti.com.br Neste tópico vamos criar e compartilhar uma pasta chamada

Leia mais

TUTORIAL DE INSTALAÇÃO APACHE 2.2.4 + PHP 5.2.1 + POSTGRESQL 8.2

TUTORIAL DE INSTALAÇÃO APACHE 2.2.4 + PHP 5.2.1 + POSTGRESQL 8.2 TUTORIAL DE INSTALAÇÃO APACHE 2.2.4 + PHP 5.2.1 + POSTGRESQL 8.2 Para instalação baixemos todos os arquivos do site www.simonsen.br/aulas/servidor/ e vamos criar uma pasta em nossa maquina chamada C:\servidor\

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

Manual de Utilização

Manual de Utilização Manual de Utilização Versão 1.0 18/01/2013 Sempre consulte por atualizações deste manual em nossa página. O Cotação Web está em constante desenvolvimento, podendo ter novas funcionalidades adicionadas

Leia mais

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO

CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO CRIANDO BANCOS DE DADOS NO SQL SERVER 2008 R2 COM O SQL SERVER MANAGEMENT STUDIO Antes de criarmos um novo Banco de Dados quero fazer um pequeno parênteses sobre segurança. Você deve ter notado que sempre

Leia mais

JDBC Java Database Connectivity

JDBC Java Database Connectivity 5 JDBC Java Database Connectivity Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Trabalhar com bancos de dados em aplicações web em JSP através das classes

Leia mais

Procedimentos de Implantação ireport x Protheus

Procedimentos de Implantação ireport x Protheus Índice 1. INTRODUÇÃO... 2 2. CONFIGURAÇÃO... 2 1.1 Configurando o Protheus... 2 2.2 Configurando o ireports no Protheus... 2 2.3 Incluindo relatórios no Protheus... 4 3. CONFIGURANDO E UTILIZANDO O IREPORT

Leia mais

Voltado para novos usuários, este capítulo fornece uma instrução para edição de Leiaute do SILAS e suas funções.

Voltado para novos usuários, este capítulo fornece uma instrução para edição de Leiaute do SILAS e suas funções. 13. Editor de leiautes Voltado para novos usuários, este capítulo fornece uma instrução para edição de Leiaute do SILAS e suas funções. Neste capítulo uma breve explicação será apresentada sobre a organização

Leia mais

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira WEBDESIGN Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira Formulários e JavaScript Como visto anteriormente, JavaScript pode ser usada para

Leia mais

MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO. Motor Periférico Versão 8.0

MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO. Motor Periférico Versão 8.0 MANUAL DE INSTALAÇÃO E CONFIGURAÇÃO Motor Periférico Versão 8.0 1. Apresentação... 3 2. Instalação do Java... 3 2.1 Download e Instalação... 3 2.2 Verificar Instalação... 3 3. Download do Motor Periférico...

Leia mais

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF Guilherme Macedo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil guilhermemacedo28@gmail.com, jaime@unipar.br Resumo.

Leia mais

Minha primeira aplicação utilizando Java Server Faces + Glassfish

Minha primeira aplicação utilizando Java Server Faces + Glassfish Minha primeira aplicação utilizando Java Server Faces + Glassfish Este tutorial apresenta de forma simples, como iniciar no desenvolvimento com o framework Java Server faces 1.2, utilizando-se o servidor

Leia mais

Tutorial: Serviços web e suas composições

Tutorial: Serviços web e suas composições Tutorial: Serviços web e suas composições Objetivo: Este tutorial tem como objetivo apresentar o desenvolvimento de serviços web através do framework Axis2. Além disso, realizar uma composição através

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

Gestão inteligente de documentos eletrônicos

Gestão inteligente de documentos eletrônicos Gestão inteligente de documentos eletrônicos MANUAL DE UTILIZAÇÃO VISÃO DE EMPRESAS VISÃO EMPRESAS - USUÁRIOS (OVERVIEW) No ELDOC, o perfil de EMPRESA refere-se aos usuários com papel operacional. São

Leia mais

JSP: JAVA SERVER PAGES

JSP: JAVA SERVER PAGES PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB JSP: JAVA SERVER PAGES Prof. Dr. Daniel Caetano 2011-2 Visão Geral 1 2 3 4 O que é um JSP? Tags de JSP Trocando um Servlet por JSP Atividade Material de Estudo Material

Leia mais

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

Leia mais

mkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos

mkdir /srv/www/default/html/calculadora/imagens mkdir /srv/www/default/html/calculadora/blocos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Criando uma Calculadora Primeiramente deve se criar uma estrutura para armazenar os arquivos necessários para o funcionamento da calculadora.

Leia mais

Instalando o J2SE 5.0 JDK no Windows 2000/XP

Instalando o J2SE 5.0 JDK no Windows 2000/XP Instalando o J2SE 5.0 JDK no Windows 2000/XP Fabricio Leonard Leopoldino Descreve o processo de download, instalação e configuração do J2SE 5.0 JDK, no Windows 2000 e no Windows XP. 1 - Introdução Para

Leia mais

WEBDESIGN. Professor: Paulo Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira

WEBDESIGN. Professor: Paulo Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira WEBDESIGN Professor: Paulo Trentin paulo@paulotrentin.com.br http://www.paulotrentin.com.br Escola CDI de Videira 1 CDI - Curso de Webdesign - Prof. Paulo Trentin Objetivos para esta aula Debater sobre

Leia mais

Melhor do que driblar os vírus de pendrive, é não pegá-los! Mas como fazer isto?

Melhor do que driblar os vírus de pendrive, é não pegá-los! Mas como fazer isto? Melhor do que driblar os vírus de pendrive, é não pegá-los! Mas como fazer isto? Por padrão, a maioria dos pendrives vêm formatados com o padrão conhecido como FAT32. Este padrão já meio antigo, é muito

Leia mais

CAPÍTULO 35 Como utilizar os componentes ColdFusion

CAPÍTULO 35 Como utilizar os componentes ColdFusion CAPÍTULO 35 Como utilizar os componentes ColdFusion Os componentes ColdFusion (CFC) permitem ao usuário encapsular lógicas de aplicação e de negócios (business logic) em unidades auto-controladas reutilizáveis.

Leia mais

Manual de criação de envios no BTG360

Manual de criação de envios no BTG360 Manual de criação de envios no BTG360 Série manuais da ferramenta ALL in Mail Introdução O BTG 360 utiliza a tecnologia do behavioral targert para que você alcance resultados ainda mais assertivos com

Leia mais

Configurar o Furbot no Eclipse

Configurar o Furbot no Eclipse Configurar o Furbot no Eclipse Primeiramente, precisamos abrir o Eclipse. Logo no início, deverá aparecer uma tela assim: Nela, você irá selecionar o local do seu workspace. Workspace é o local onde ficarão

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

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. Manual de Instruções ECO Editor de Conteúdo Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. O ECO é um sistema amigável e intui?vo, mas abaixo você pode?rar eventuais dúvidas e aproveitar

Leia mais

Manual do Painel Administrativo

Manual do Painel Administrativo Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...

Leia mais

JavaServer Faces (JSF) Leonardo Murta (leomurta@ic.uff.br)

JavaServer Faces (JSF) Leonardo Murta (leomurta@ic.uff.br) JavaServer Faces (JSF) Leonardo 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 JavaServer

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário Smart Laudos 1.9 A Forma Inteligente de Criar seus Laudos Médicos Manual do Usuário Conteúdo 1. O que é o Smart Laudos?... 3 2. Características... 3 3. Instalação... 3 4. Menu do Sistema... 4 5. Configurando

Leia mais

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

SUMÁRIO Acesso ao sistema... 2 Atendente... 3 SUMÁRIO Acesso ao sistema... 2 1. Login no sistema... 2 Atendente... 3 1. Abrindo uma nova Solicitação... 3 1. Consultando Solicitações... 5 2. Fazendo uma Consulta Avançada... 6 3. Alterando dados da

Leia mais

PHP Material de aula prof. Toninho (8º Ano)

PHP Material de aula prof. Toninho (8º Ano) Na aula anterior entendemos como se faz o acesso aos nossos arquivos PHP; Como construir um script em php. Nesta aula (3) vamos entender: Como roda o PHP Inserindo comentários Visualizando páginas a partir

Leia mais

MANUAL DO PVP SUMÁRIO

MANUAL DO PVP SUMÁRIO Manual PVP - Professores SUMÁRIO 1 INTRODUÇÃO... 6 2 ACESSANDO O PVP... 8 3 TELA PRINCIPAL... 10 3.1 USUÁRIO... 10 3.2 INICIAL/PARAR... 10 3.3 RELATÓRIO... 10 3.4 INSTITUIÇÕES... 11 3.5 CONFIGURAR... 11

Leia mais

MANUAL DO INSTAR-MAIL 1.0. Pagina de login e senha do Instar-Mail

MANUAL DO INSTAR-MAIL 1.0. Pagina de login e senha do Instar-Mail 1º Passo: Acesse o seguinte endereço http://www.smtp.com.br/sg/cliente/logar.php MANUAL DO INSTAR-MAIL 1.0 2º Passo: Será apresentada uma tela solicitando o seu login e senha: Sendo assim: Digite o seu

Leia mais

Como funciona? SUMÁRIO

Como funciona? SUMÁRIO SUMÁRIO 1. Introdução... 2 2. Benefícios e Vantagens... 2 3. Como utilizar?... 2 3.1. Criar Chave / Senha de Usuário... 2 3.2. Recursos da Barra Superior... 2 3.2.1. Opções... 3 3.2.1.1. Mover Para...

Leia mais

INSTALAÇÃO DO SISTEMA CONTROLGÁS

INSTALAÇÃO DO SISTEMA CONTROLGÁS INSTALAÇÃO DO SISTEMA CONTROLGÁS 1) Clique duas vezes no arquivo ControlGasSetup.exe. Será exibida a tela de boas vindas do instalador: 2) Clique em avançar e aparecerá a tela a seguir: Manual de Instalação

Leia mais

Manual das funcionalidades Webmail AASP

Manual das funcionalidades Webmail AASP Manual das funcionalidades Webmail AASP 1. Configurações iniciais 2. Regras 3. Histórico da conta 4. Autorresposta 5. Dados de acesso (alterando senha de acesso) 6. Identidade (assinatura) 7. Redirecionamento

Leia mais

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 1 Sumário 1 - Instalação Normal do Despachante Express... 3 2 - Instalação do Despachante Express em Rede... 5 3 - Registrando o Despachante Express...

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

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH! UNIVERSIDADE DE SÃO PAULO (USP) ESCOLA DE ARTES, CIÊNCIAS E HUMANIDADES (EACH) TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH! Autoria e revisão por: PET Sistemas

Leia mais

PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB

PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB Sumep Julho/2006 PROCEDIMENTOS PARA A INSTALAÇÃO E UTILIZAÇÃO DO APLICATIVO DE LEILÃO ELETRÔNICO DA CONAB Objetivo

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

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela Aula 01 - Formatações prontas e Sumário Formatar como Tabela Formatar como Tabela (cont.) Alterando as formatações aplicadas e adicionando novos itens Removendo a formatação de tabela aplicada Formatação

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

Leia mais

Tutorial do Sistema de Gestão de Conteúdos para Web - SYSWEB

Tutorial do Sistema de Gestão de Conteúdos para Web - SYSWEB Tutorial do Sistema de Gestão de Conteúdos para Web - SYSWEB São João del-rei Outubro de 2008 1. Entrando na Intranet para acessar o SYSWEB 1.1 Digite no seu navegador (browser) o seguinte endereço: http://www.intranet.ufsj.edu.br

Leia mais

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT.

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT. Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT. PÁGINA: 2 de 21 Nenhuma parte deste documento pode ser utilizado ou reproduzido, em qualquer meio

Leia mais

MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET

MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET MANUAL DE UTILIZAÇÃO SISTEMA DE CADASTRO INTRANET I Sumário 1. Objetivo do Documento... 1 2. Início... 1 3. Cadastro de Pessoa Física... 3 3.1. Preenchimentos Obrigatórios.... 4 3.2. Acesso aos Campos

Leia mais

Manual de digitação de contas Portal AFPERGS

Manual de digitação de contas Portal AFPERGS Manual de digitação de contas Portal AFPERGS 1 Sumário Acesso à função digitação de contas... 3 O que é a Função digitação de contas (DC)... 4 Como proceder na função digitação de conta médica (DC)...

Leia mais

VISUAL LIGHTBOX FERRAMENTA WEB DESIGN FABIANO KEIJI TAGUCHI

VISUAL LIGHTBOX FERRAMENTA WEB DESIGN FABIANO KEIJI TAGUCHI VISUAL LIGHTBOX FERRAMENTA WEB DESIGN FABIANO KEIJI TAGUCHI ESTE MATERIAL TEM UM OBJETIVO DE COMPLEMENTAR OS ASSUNTOS ABORDADOS DENTRO DE SALA DE AULA, TORNANDO-SE UM GUIA PARA UTILIZAÇÃO DA FERRAMENTA

Leia mais

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados

Módulo e-rede OpenCart v1.0. Manual de. Instalação do Módulo. estamos todos ligados Módulo e-rede OpenCart v1.0 Manual de Instalação do Módulo estamos todos ligados ÍNDICE 01 02 03 04 Introdução 3 Versão 3 Requerimentos 3 Manual de instalação 4 05 06 4.1 vqmod 4 4.2 Instalação e ativação

Leia mais

Manual de Atualização MATERIAL DE APOIO - KB IMÓVEIS

Manual de Atualização MATERIAL DE APOIO - KB IMÓVEIS 1 2 Manual de Atualização MATERIAL DE APOIO - KB IMÓVEIS Login é a área de autenticação do sistema. Por questões de segurança, é necessário que o usuário se identifique, impedindo a entrada de pessoas

Leia mais