|
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Parceiros - CSS para Web Design - S.O.S Designers - Slackware-Brasil - Crie seu Web site - Oficina da Net |
Construção dinâmica de menus de seleção utilizando JSPEste artigo propõe uma forma ordenada de gerar estes menus utilizando para isso JSP. Acontece quando temos que gerar menus de seleção dentro de páginas HTML. Muitas vezes estes menus são idênticos ou muito parecidos, e pode ocorrer de ocuparem muito lugar dentro de nossa página web.
A idéia é passar a esta função os parâmetros que nos interessam, e deixar que ela se ocupe do resto. Vejamos o código da página, com uma breve explicação abaixo de cada bloco de código. <%@ page language="java"%> <%! private void writeMenu(javax.servlet.jsp.JspWriter out, int startValue, int endValue, int selectedValue){ try{ // esta linha eh opcional... out.println("<option value=\"-1\" selected> Selecione uma opcao</option>"); // comeco o ciclo com a classe de valores dado. for (int i=startValue; i<(endValue+1); i++){ // se o valor atual corresponde ao valor do ciclo, //faco aparecer como selecionado if (i == selectedValue){ out.println("<option value=\""+i+"\" selected>"+i+"</option>"); } else{ out.println("<option value=\""+i+"\">"+i+"</option>"); } } }catch(java.io.IOException e1){ System.out.println(e1); } } %> Esta é a função que gera o menu, recebe como parâmetros o valor inicial, o valor final, o valor atual e o objeto JspWriter, que permite escrever dinamicamente sobre a página. <% java.util.GregorianCalendar cal = new java.util.GregorianCalendar(); int day = cal.get(cal.DAY_OF_MONTH); int month = (cal.get(cal.MONTH)) + 1; int year = cal.get(cal.YEAR); %> Criamos variáveis de página, que nos servirão somente para provar a função. <html> <head> <title>Construção dinâmica de menus de seleção</title> </head> <body> <table> <h1>construcao dinamica de menus de selecao</h1> <tr> <td>Dia: <select> <% writeMenu(out,1,31,day); %> </select> </td> <td>Mes: <select> <% writeMenu(out,1,12,month); %> </select> </td> <td>Ano: <select> <% writeMenu(out,2000,2010,year); %> </select> </td> </tr> </table> </body> </html> Finalmente o html, muito simples, que mostra como se usa a funcao. Uma variante deste procedimento seria, por exemplo, ler dados de uma database. Por exemplo, se quisermos gerar um clássico menu com a lista de países do mundo, poderemos fazer uma função deste tipo: public void writeCountryMenu(Connection connection, javax.servlet.jsp.JspWriter out, int currentValue){ try{ String sqlString = " SELECT id,Name from T_Countries order by orderview "; Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery(sqlString); while (rs.next()){ String selected = ""; int countryId = rs.getInt("id"); if (countryId==currentValue) selected = "SELECTED"; out.print("<option value=\""+countryId+"\" "+selected+">"+rs.getString("Name")+"</option>"); } rs.close(); stmt.close(); }catch(Exception e){ System.out.println(e); } } Neste caso obviamente temos que passar uma conexão a um database (pode ser MsSQL, MySql, etc.) no qual temos a tabela T_countries, com os campos id, name e orderview.
Autoria e outras referências sobre este artigo Dentro deste artigo: + 2 Manuais relacionados com este artigo + 1 categoria relacionada + 1 Comentário sem rever
Manuais relacionados com este artigo Dentro de Ajudas técnicas Anterior: O PC de um webmaster Dentro de Manual de JSP Anterior: Conexão a um database server com JSP Categorias relacionadas Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo: + Entrar em JSPComentário sem rever
|
| Sobre nós | Copyright | Anuncie | Entrar em contato | <criarweb> |