2013-10-29 144 views
0

嘿家伙这对你们中的一些人来说肯定是一个愚蠢的问题,但我无法解决这个问题。我试图从我的Java对象传递值到一个JavaScript数组。由于某种原因,它不起作用。 CanchasPrecios2数组填写了未定义的值,并且不会让我工作。 CanchasDescription确实获得了正确的值。我检查了三倍,看看对象的价格是多少,他们是正确的。 Price和Descriptions都是Java对象中的字符串。关于如何解决它的任何想法?为什么我的javascript数组从java对象中获取未定义的值?

谢谢!

var y = <%=param%>; 
    var CanchasDescription = new Array(); 
    var CanchasPrecios2 = new Array(); 

    <% for(int i =0; i<owner.getMisCanchas().size(); i++) 
    { %> 

    CanchasDescription[<%=i%>] = <%= owner.getMisCanchas().get(i).getDescription()%>; 
    CanchasPrecios2[<%=i%>] = <%=owner.getMisCanchas().get(i).getPrice()%>; 

    <%}%> 
+0

您可能需要引用您正尝试分配的字符串值。您还应该避免在JSP中使用scriptlet。 – GriffeyDog

+0

阅读生成的来源。 – SLaks

+0

你有一个XSS洞。 – SLaks

回答

2

我现在知道JSP非常好,但是你是否错过了Java打印值的引号?我想你的代码应该是这样的:

CanchasDescription[<%=i%>] = "<%= owner.getMisCanchas().get(i).getDescription()%>"; 
CanchasPrecios2[<%=i%>] = "<%=owner.getMisCanchas().get(i).getPrice()%>"; 

看看你的浏览器的源代码,看看如何生成JavaScript代码。

0

我得到了它解决了家伙,显然我有一个愚蠢的错误后,这使得它未定义的代码。对不起,那些家伙。也只是想提醒你,不需要引号,只要它是一个字符串,它不会影响任何内容。非常感谢你!

相关问题