Bom pessoal estou com um pequeno problema, como consigo chamar a tag JSP dentro dos meus td’s sem ocasionar problemas?
[code]
function adicionarLinha()
{
var local=document.getElementById('tabela2');
var tblBody = local.tBodies[0];
var newRow = tblBody.insertRow(-1);
var newCell0 = newRow.insertCell(0);
$teste = “aaaaaaaaa”;
newCell0.innerHTML = ’
teste | ’;
var newCell1 = newRow.insertCell(1);
newCell1.innerHTML = ’
teste | ';
var newCell2 = newRow.insertCell(2);
newCell2.innerHTML = '
teste | ';
var newCell3 = newRow.insertCell(3);
newCell3.innerHTML = ’
teste | ';
} [/code]
Tentei da seguinte forma:
[code]
var newCell3 = newRow.insertCell(3);
newCell3.innerHTML = ‘
’<%=pro.getNome()%> ‘ | ’;
}[/code]
Porem não funciona, alguém tem alguma dica para usar a tag JSP nesse caso?
OBS: essas linhas são adicionadas sempre que clico em um botão, com a tag JSP ela nem adiciona, porém quando faço da forma comum ( da forma que está no código completo ) ele funciona normalmente !
Vc não vai conseguir inserir código JSP pelo Javascript, JSP é processado no servidor, javascript no cliente, já tive muitos problemas com isso e tive q encontrar várias soluções alternativas. No seu caso acredito q uma solução seja enviar o “nome” passado pelo “pro.getNome” via parâmetro. Não sei se a forma q vc implementou o código permite isso, mas é uma saída.
[EDITADO] Foram enviadas duas mensagens idênticas !
Bom , não tenho como testar agora, mas vc acredita que algo assim resolveria?
function adicionarLinha(nome)
{
var local=document.getElementById('tabela2');
var tblBody = local.tBodies[0];
var newRow = tblBody.insertRow(-1);
}
<input type="button" onclick="adicionaLinha(<%pro.getNome()%>)"
Ou algo como:
function adicionarLinha(nome)
{
var local=document.getElementById('tabela2');
var tblBody = local.tBodies[0];
var newRow = tblBody.insertRow(-1);
}
<input type="button" nome="<%pro.getNome()%>" onclick="adicionaLinha(nome)"
Poderia me explicar como chamar a variavel nome dentro dos tds? Eu posso fazer algo do gênero: '<td>' nome '</td>'
?
[quote=java.teen]
Poderia me explicar como chamar a variavel nome dentro dos tds? Eu posso fazer algo do gênero: '<td>' nome '</td>'
?[/quote]
Só não esqueça de concatenar a variável:
Ok cara, vou testar logo trago resultados !
Bom resolvi usando Ajax:
[code]
function adicionarLinha()
{
var quantidade=prompt(“Digite a quantidade desejada: “,””);
alert(quantidade);
var local=document.getElementById(‘tabela2’);
var prod = document.getElementById(‘teste’).value;
alert(prod);
$.post("produto.jsp?codigo="+prod+"&quantidade="+quantidade,"", function(data){
//alert(data);
var dados = data.split(';');
preco= quantidade*dados[1];
//var linha = "<tr><td>" + prod + "</td><td>" + dados[0] + "</td><td>" + 1 + "</td><td>" + 2.00 + "</td></tr>";
var linha= "<tr><td class='codigoprod'>"+prod+"</td><td class='nomeprod'>"+dados[0]+"</td><td class='quantidadeprod'>"+quantidade+"</td><td class='valorprod'>"+preco+"</td></tr>";
local.innerHTML = local.innerHTML + linha;
valor=document.getElementById('total').value;
parseInt(valor);
document.getElementById('total').value=parseFloat(valor)+parseFloat(preco);
});
} [/code]
A produto.jsp é essa:
[code]
<%@page import=“java.util.Locale”%>
<%@page import=“java.text.NumberFormat”%>
<%@ page language=“java” contentType="text/html; charset=utf-8"
pageEncoding=“utf-8”%>
<%@ taglib uri=“http://java.sun.com/jsf/html” prefix=“h”%>
<%@page import=“dao.JDBCProdutoDAO”%>
<%@ page import=“dao.FabricaConexao”%>
<%@ page import=“java.sql.Connection”%>
<%@ page import=“modelo.Produto;”%>
<%
java.util.List produtos;
String codigo=request.getParameter(“codigo”);
String quantidade=request.getParameter(“quantidade”);
System.out.println("Quantidade "+quantidade);
System.out.println(codigo);
FabricaConexao fabrica = new FabricaConexao();
Connection conexao = fabrica.fazConexao();
JDBCProdutoDAO dao = new JDBCProdutoDAO(conexao);
produtos = dao.listar(codigo);
for(Produto pro: produtos){
out.print(pro.getNome()+";"+pro.getValor());
}
int qtd_atual=dao.listarquantidade(codigo);
int qtd_menos =Integer.parseInt(quantidade);
int qtd_final = qtd_atual - qtd_menos;
dao.alterar_quantidade(qtd_final, codigo);
fabrica.fecharConexao();
%>
[/code]