Olá galera…
Bem, é o seguinte…
Estou desenvolvendo uma aplicação web e travei na parte de form - select…
Tipo assim, fiz um servlet para acessar o bd mysql e retornar alguns dados em formato xml, acho melhor mostrar, então, esta aí:
[code]
package banco;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
- Servlet implementation class for Servlet: Modelos_servlet
- @web.servlet
- name=“Modelos_servlet”
- display-name=“Modelos_servlet”
- @web.servlet-mapping
- url-pattern="/Modelos_servlet"
/
public class ModelosServlet extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
/ (non-Java-doc)
* @see javax.servlet.http.HttpServlet#HttpServlet()
*/
public ModelosServlet() {
super();
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest arg0, HttpServletResponse arg1)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/xml");
PrintWriter out = response.getWriter();
out.println("<?xml version='1.0' encoding='ISO-8859-1' ?>");
Conexao c = new Conexao();
c.Conecta();
Connection conexao = c.conn;
try {
PreparedStatement sql = conexao.prepareStatement("select * from modelos, fabricantes");
ResultSet resultado = sql.executeQuery();
out.println("<banco>");
while (resultado.next()) {
out.println("<tabela>");
out.println("<fabricante>"+resultado.getString("FAB_Nm_fabricante")+ "</fabricante>");
out.println("<modelo>"+resultado.getString("MOD_Dc_modelo")+ "</modelo>");
out.println("</tabela>");
}
out.println("</banco>");
resultado.close();
} catch (SQLException e) {
out.println("<erro>"+e.getMessage()+"</erro>");
out.close();
}
}
/* (non-Java-doc)
* @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest arg0, HttpServletResponse arg1)
*/
protected void doPost(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}[/code]
Ele me traz os resultados no bd do fabricante e modelo…
Modifiquei o web.xml para que esse servlet passe os dados para qualquer página que solicitar:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>proj_camera</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>modelosservlet</servlet-name>
<servlet-class>banco.ModelosServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>modelosservlet</servlet-name>
<url-pattern>/modelosservlet</url-pattern>
</servlet-mapping></web-app>
Consegui acessar as informações em uma página de teste que fiz:
[code]
Insert title here| fabricante | cor |
O grande problema é quando vou usar esses dados que estão em xml em um form, mais especificamente, em um select - option…
Tentei de várias formas colocar esses dados no select para minha página mas não consegui…
Eis a página que tento usar o xml no select:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@taglib uri="/WEB-INF/lib/struts-logic.tld" prefix="logic"%>
<jsp:useBean id="modelos" scope="page" class="banco.Modelos" />
<jsp:setProperty name="modelos" property="*" />
<jsp:useBean id="zebra" scope="page" class="banco.Zebra" />
<html>
<head>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Identificação de Veículos</title>
<link rel="stylesheet" href="../estilos.css"><script
language="javascript" type="text/JavaScript">
function Validar() {
if (form1.modelo.value.length == 0) {
alert('Por favor digite o modelo do veículo.');
form1.modelo.focus();
return false;
}
if (form1.cor.value.length == 0) {
alert('Por favor digite a cor.');
form1.cor.focus();
return false;
}
function carrega(){
dados.recordset.moveFirst();
while (!dados.recordset.EOF) {
var novo = new Option(dados.recordset('fabricante'));
form1.selecionar.add(novo);
dados.recordset.moveNext();
}
}
}
</script>
</head>
<body class="corFundo" onload="carrega();">
<xml id="dados" src="../modelosservlet"></xml>
<TABLE border=0 width="100%" height="100%">
<tr>
<td height="2%">
<div class="estiloTitulo">Identificação de Veículos</div>
</td>
</tr>
<tr>
<td class="tr" height="2"><%@include file="../Menu/menu.jsp"%></td>
</tr>
<tr>
<td align="center" valign="top"><%-- inicio formulario --%>
<form action="" method="post" name="form1" id="form1"
onSubmit="return Validar();" style="display: none;">
<table id="tabelaFormulario" width="400" border="1" align="center"
valign="top" cellpadding="0" cellspacing="0">
<tr>
<td class="borda tr">
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr class="tituloform">
<td colspan="2" valign="top">
<table id="tituloForm" width="100%" border="0" cellspacing="0"
cellpadding="0">
<tr>
<td width=60></td>
<td>
<div align="center" class="tituloform" id="formularioTitulo"></div>
</td>
<td width=60><img align="right" class="dedo" alt="fechar"
src="../imagens/fechar.gif"
onClick="form1.style.display='none';"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="60" valign="top" class=titulocampo>Modelo:</td>
<td align=left><input name="modelo" type="text" class="borda"
maxlength="100"></td>
</tr>
<tr>
<td width="60" valign="top" class=titulocampo>Fabricante:</td>
<td align=left><select name="selecionar" id="selecionar"
class="borda">
<option value="0">-- selecione --</option>
</select></td>
</tr>
<tr>
<td width="60" valign="top" class=titulocampo>Cor:</td>
<td align=left><input name="cor" type="text" class="borda"
maxlength="100"></td>
</tr>
<tr>
<td width="60" class=titulocampo></td>
<td><input name="Submit" type="submit" class="botao"
value="Gravar"> <input name="Cancelar" type="button"
class="botao" onClick="form1.style.display='none';"
value="Cancelar"></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
<%-- fim formulario --%><%-- inicio linha incluir/busca --%>
<table id="tabelaBusca" width="100%" border="0" cellspacing="0"
cellpadding="0">
<tr>
<td align="center" class="paginacao tr"><a href="javascript:void(0)"
onClick="
form1.style.display='block';
form1.action='incluir.jsp';
formularioTitulo.innerHTML='Incluir Modelo';
mostraCodigo.innerHTML='';
form1.modelo.value='';
form1.fabricante.value='';
form1.cor.value='';
form1.observacoes.value='';"><b>Incluir</b></a><font
color="#006699"><b> | Pesquisar: </b></font><input name="destacar"
type="text" class="texto" size="20" maxlength="20"
value="<jsp:getProperty name="modelos" property="destacar" />"> <input
name="Submit2" type="button" class="botao" value="Ok"
onClick="document.location='index.jsp?destacar='+destacar.value;"></td>
</tr>
</table>
<%-- fim linha incluir/busca --%>
<table id="tabelaBusca" width="100%" height="100%" border="0"
cellspacing="0" cellpadding="0" class="borda">
<tr>
<td align="center" valign="top" class="corFundo">
<table border=0 width=100% class="limpar">
<tr id="linhaTitulos" class="sobreMouse">
<td width="60">
<div class="titulocoluna dedo"><logic:equal parameter="campo"
value="1">
</logic:equal> Modelo</div>
</td>
<td width="140">
<div class="titulocoluna dedo"><logic:equal parameter="campo"
value="2">
</logic:equal> Fabricante</div>
</td>
<td width="140">
<div class="titulocoluna dedo"><logic:equal parameter="campo"
value="3">
</logic:equal> Cor</div>
</td>
<td width="140">
<div class="titulocoluna dedo"><logic:equal parameter="campo"
value="4">
</logic:equal> Descrição</div>
</td>
</tr>
<logic:iterate id="listar" name="modelos" property="listar">
<tr id="linhaDados" onmouseover="this.className='selecao';"
onmouseout="this.className='<jsp:getProperty name="zebra" property="corProxima"/>'"
align="left" valign="top"
class="<jsp:getProperty name="zebra" property="corAtual"/>">
<td class="dados" width="15%"><jsp:getProperty name="listar"
property="modelo" /></td>
<td class="dados" width="15%"><jsp:getProperty name="listar"
property="fabricante" /></td>
<td class="dados" width="15%"><jsp:getProperty name="listar"
property="cor" /></td>
<td class="dados" width="55%"><jsp:getProperty name="listar"
property="observacoes" /></td>
</tr>
</logic:iterate>
</table>
<jsp:getProperty name="modelos" property="paginacao" /></td>
</tr>
</table>
</td>
</tr>
<tr id="linhaRodape">
<td height="3%" colspan=2 align="center" class="rodape borda">
<div>Desenvolvido na Technolog / Soluções em Softwares Ltda.</div>
</td>
</tr>
</TABLE>
</body>
</html>
Bem, tem muitas informações aí, mas gostaria que atentassem para o form, para o select…
fiz um código em javascript para tentar, mas nem assim consegui!!!
Se alguém puder me ajudar, seria muito grato…
É isso galera, aguardo o apoio de vcs!!!