Otra cosa

safuen
30 de Abril del 2004
Hola a tod@s!Hasta ahora nadie ha sabido decirme si se puede interactuar entre java y
javascript.Yo he hecho un pequeño programa en una pagina jsp para probar, el código es:

<%@page import="java.util.*"%>

<SCRIPT LANGUAGE="JavaScript">
var a=0;
posicion=new Array();

posicion[0]="uno";
posicion[1]="tres";
posicion[2]="cero";
posicion[3]="dos";

var j=0;
</SCRIPT>

<% String todos[]= new String[4];
String registros[]= new String[4];

todos[0]="cero";
todos[1]="uno";
todos[2]="dos";
todos[3]="tres";

int p=0;

for(int i = 0; i < 4; i++)
{ %>
<SCRIPT LANGUAGE="JavaScript">

j=<%=p%>;

if(posicion[j]=="<%=todos[i]%>")
{
<%registros[p]=todos[i];%>
<% p++;%>
}
</SCRIPT>
<%}%>
Explicacion:Intento meter en el array registros lo que hay dentro del array todos pero en el
orden en que están en el array posicion (que está en javascript).Lo hago comparando porque no
he conseguido asignar directamente el contenido de una variable javascript a una java.El problema
es que hace la comparación pero ejecuta siempre lo que hay escrito en java, es decir,
<%registros[p]=todos[i];%> <% p++;%>.Por lo tanto guarda siempre el orden que hay en elarray todos,
alguien sabe por qué???

maramonar
30 de Abril del 2004
Yo no se si vale la pena aclarar que lo que escribis en jScript se ejecuta en el cliente y lo que escribis en java en el servidor....entendido esto podes concluir que no vas a poder interactuar entre java y jscript.
Intentá ver el código html que te está generando esa página jsp y vas a entender lo que en realidad estas haciendo. Para mí estaría generando algo así como
<SCRIPT LANGUAGE="JavaScript">
var a=0;
posicion=new Array();

posicion[0]="uno";
posicion[1]="tres";
posicion[2]="cero";
posicion[3]="dos";

var j=0;
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
j=0;
if(posicion[j]=="cero")
{
}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
j=1;
if(posicion[j]=="uno")
{
}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
j=2;
if(posicion[j]=="dos")
{
}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
j=3;
if(posicion[j]=="tres")
{
}
</SCRIPT>
Las sentencias que comentas se ejecutan simpre porque ni se enteran del if(posicion[j]=="tres"), es que eso es jScript y se ejecuta en otro momento...