使用Javascript生成包含JSP的HTML

Using Javascript to generate HTML that contains JSP

本文关键字:JSP HTML 包含 Javascript 使用      更新时间:2023-09-26

我正在使用jsp、javascript和html制作一个web视图。我有一个元素列表,当点击这些元素时,会调用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> 

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

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

我的问题是我得到了这个错误:java.lang.NumberFormatException: For input string: "+parseInt(index)+"

这里的索引自然是被单击的元素的索引,它对应于该元素在视图从Java应用程序接收的数组列表中的位置。这个数组列表被称为"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不会崩溃,并在索引索引中显示与元素关联的图片。

当然,我对如何解决这个问题的其他建议持开放态度。本质是,根据用户点击的元素,我想在页面上显示与该元素相关的图像和其他数据。

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

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