
Resulta que recorro los datos de un archivo de texto de json y necesito pasar los datos de esta tabla dinámica a otro jsp, pero al no haber un id o algo solo me trae la primera iteración.
Tengo este Jsp que consume un json de un archivo local:
-----
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<script type="application/javascript">
function loadJSON(){
var xmlhttp = new XMLHttpRequest();
var url = "ArchivoDePrueba.txt";
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var myArr = JSON.parse(xmlhttp.responseText);
myFunction(myArr);
var datos = '00AJ081';
alert (consulta( datos));
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
function myFunction(arr) {
var out = "";
var i;
var contador = 0;
for(i = 0; i < arr.length; i++) {
out += '<tr><td><input type="text" name="categoria" value="' + arr[i].Categoria + '"/></td>'
+ '<td> <input type="text" name="currencyDef" value="' + arr[i].CurrencyDef + '"/></td>'
+ '<td> <input type="text" name="description" value="' + arr[i].Description + '"/></td>'
+ '<td> <input type="text" name="familia" value="' + arr[i].Familia + '"></td>'
+ '<td> <input type="text" name="marks" value="' + arr[i].Marks + '"/></td>'
+ '<td> <input type="text" name="name" value="' + arr[i].Name + '"/></td>'
+ '<td> <input type="text" name="partNum" value="' + arr[i].PartNum + '"/><td>'
+ '<td> <input type="text" name="quantity" value="' + arr[i].Quantity + '"/></td>'
+ '<td> <input type="text" name="salesminprice" value="' + arr[i].Salesminprice + '"/></td>'
+ '<td> <input type="submit" name="publicar" value="Publicar" onclick="consulta("'+arr[i].PartNum +'")/> </td>' +'</tr>';
}
document.getElementById("id01").innerHTML = out;
}
// Trate de hacer esta consulta para hallar el id que sería PartNum pero no supe llamarla en la función de arriba :c
function consulta(valor) {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var myArr = JSON.parse(xmlhttp.responseText);
for(var i = 0; i < myArr.length; i++){
if(myArr[i].PartNum == valor){
return myArr[i].Categoria + myArr[i].CurrencyDef + myArr[i].Description +
myArr[i].Familia + myArr[i].Marks + myArr[i].Name + myArr[i].PartNum
+ myArr[i].Quantity + myArr[i].Salesminprice;
}
}
}
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
}
</script>
<script language="javascript">
function defineOpcion(opcion) {
document.forms[0].opcion.value = opcion;
}
</script>
<title>JSON and AJAX</title>
</head>
<body>
<form name="listaProductos" action="productoLinioProveedor.jsp" method="post">
<div>
<table id="id01" cellpadding="0" cellspacing="0" name="productos">
</table>
</div>
<button type="button" onclick="loadJSON()">Update Name</button>
<h2>Click this button to update the page</h2>
</form>
</body>
</html>
---
Este es el Json
---
[{"Categoria":"Storage","CurrencyDef":"COP","Descri ption":"n2225 sas/sata hba for ibm system x","Familia":"ALMACENAMIENTO","Marks":"LENOVO SERVIDORES","Name":"N2225 SAS/SATA HBA for IBM System x","PartNum":"00AE912","Quantity":2,"Salesminprice ":706006.97},{"Categoria":"Accesorios Servidores","CurrencyDef":"USD","Description":"hdd 300gb 15k 6gbps sas 2.5in g3hs hdd","Familia":"SERVIDORES","Marks":"LENOVO SERVIDORES","Name":"HDD 300GB 15K 6Gbps SAS 2.5in G3HS HDD","PartNum":"00AJ081","Quantity":6,"Salesminpri ce":328.45}]
--
JSP a pasar los datos
---
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<!--Se importan los estilos -->
<script type="text/javascript" src="js/livevalidation.js"></script>
<link rel="stylesheet" href="css/live_validation.css"/>
<script language="javascript">
function defineOpcion(opcion) {
document.forms[0].opcion.value = opcion;
document.forms[0].submit();
}
</script>
<script language="javascript" type="text/javascript" src="tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
mode: "textareas",
theme: "advanced"
});
</script>
</head>
<body>
<div class="contenido" >
<h2 style="text-align: center;">INSERTAR PRODUCTO</h2>
<form action="cargaControl" method="POST"" >
<input id="slcVendedor" type="hidden" name="id_vendedor"/>
</form>
<%
String categoria = request.getParameter("categoria");
String currencyDef = request.getParameter("currencyDef");
String description = request.getParameter("description");
String familia = request.getParameter("familia");
String marks = request.getParameter("marks");
String name = request.getParameter("name");
String partNum = request.getParameter("partNum");
String quantity = request.getParameter("quantity");
String salesminprice = request.getParameter("salesminprice");
out.println("Categoría: " + categoria + "<br />");
out.println("CurrencyDef: " + currencyDef + "<br />");
out.println("Description: " + description + "<br />");
out.println("Familia: " + familia + "<br />");
out.println("Marks: " + marks + "<br />");
out.println("Name: " + name + "<br />");
out.println("PartNum: " + partNum + "<br />");
out.println("Quantity " + quantity + "<br />");
out.println("Salesminprice: " + salesminprice + "<br />");
%>
Categoría:
<input type="text" value="<% out.println(request.getParameter("categoria"));%>"/>
</div>
</body>
</html>
Si alguien sabe que debo hacer por fa me lo hacen saber muchas gracias de antemano, un saludo

Que pena, me podrías dar un ejemplo de como hacerlo estuve investigando pero me genera errores 




