1

我正在使用 jsp、javascript 和 html 制作网页视图。我有一个元素列表,当单击时调用 javascript 函数 generatePictureSlider。这个想法是一组图片与列表中的每个元素相关联,并在单击其中一个元素时创建一个滑块。

这是创建我的列表的代码:

<div class="valg">
    <ol id="selectable">
    <c:forEach items="${kandidatliste}" var="kjoretoy" varStatus="rowCounter">

        <li id="${rowCounter.index}" class="ui-widget-content">
            <c:choose>
               /*Some code that displays content based on a variable in the kjoretoy var */
            </c:choose>

            <c:out value="Reg nr: ${kjoretoy.kjennemerke} "/>
            <c:out value="Score: ${kjoretoy.score} "/>
            <c:out value="Passering: ${kjoretoy.passeringsString} "/>                       

            <input id="removeVehicle" type="submit" value="X" />
            <input id="checkVehicle" type="submit" value="Sjekk"/>
        </li>   
    </c:forEach>        
    </ol>
</div> 

#selectable ol 绑定到 javascript 中的 click 函数。这个点击函数是调用 generatePictureSlider 的函数。因此,当单击列表中的某个元素时,我想在滑块中显示与该元素关联的图片。

因此,我必须生成动态显示滑块的 html。

我的问题是我收到此错误:java.lang.NumberFormatException: For input string: "+parseInt(index)+"

这里的索引自然是被点击的元素的索引,它对应于该元素在视图从Java应用程序接收到的arraylist中的位置。这个数组列表称为“kandidatliste”,您将在下面的函数中看到。

function generatePictureSlider(index){
    $('div#switcher-panel').html('');

    var html = '<div id="container">'+
        '<div id="banner">'+
        '<ul class="bjqs">'+
        '<li><img src="/nonstop/bildekjennemerke=${kandidatliste['+parseInt(index)+'].kjennemerke}&bildeNr=${0}" title="${kandidatliste[0].kjennemerke}_${0}" width="350" height="220"/></li>'+
        '</ul></div></div>';

    $('div#switcher-panel').append(html);               
}

如何使 javascript 变量索引为整数,以便 JSP 不会崩溃并显示与索引索引中的元素关联的图片。

我当然愿意接受有关如何解决它的其他建议。本质是基于用户点击的元素,我想在页面上显示与该元素相关的图像和其他数据。

4

1 回答 1

2

JSP 页面在服务器端运行,并打印可能包含 Javascript 的 HTML 文档,另一方面,Javascript 在客户端的浏览器中运行,使用 javascript 生成 JSP 没有意义,因为它将在客户端的浏览器上,并且它不起作用,因为 JSP 必须在服务器端解析,您需要在将其发送到客户端之前解决此问题,您可以使用 Scriptlet,但我不推荐它,我不知道您的应用程序到底如何工作,但我会使用ajax动态加载图片。

如果您提供更多信息,我可以改进答案。

于 2012-09-12T11:32:41.917 回答