1

jsp、javascript、htmlを使用してWebビューを作成しています。とりわけjavascript関数generatePictureSliderの呼び出しをクリックしたときに要素のリストがあります。アイデアは、一連の画像がリスト内の各要素に関連付けられ、要素の1つがクリックされるとスライダーが作成されるというものです。

これは私のリストを作成するコードです:

<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のクリック関数にバインドされています。このクリック関数は、generatePictureSliderを呼び出す関数です。そのため、リスト内の要素の1つをクリックすると、その要素に関連付けられている画像がスライダーに表示されます。

したがって、スライダーを動的に表示する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);               
}

JSPがクラッシュせず、インデックスインデックスの要素に関連付けられた画像を表示するように、JavaScript変数インデックスを整数にするにはどうすればよいですか。

もちろん、私はそれを解決する方法について他の提案を受け入れています。本質は、ユーザーがクリックした要素に基づいて、その要素に関連付けられた画像やその他のデータをページに表示したいということです。

4

1 に答える 1

2

JSP ページはサーバー側で実行され、Javascript を含む可能性のある HTML ドキュメントを出力します。一方、Javascript はクライアントのブラウザーで実行されます。JavaScript を使用して JSP を生成しても意味がありません。 JSPはサーバー側で解決する必要があるため、機能しません。クライアントに送信する前にこれを解決する必要があります。スクリプトレットを使用できますが、お勧めしません。アプリがどのように機能するか正確にはわかりません動作しますが、ajax を使用して動的に画像を読み込みます。

より多くの情報を提供していただければ、回答を改善できます。

于 2012-09-12T11:32:41.917 に答える