質問

JSPページがあります...リクエストパラメーター(リクエストによって配列が返される)に応じて、ドロップダウンを作成する必要があることに応じて、いくつかのコンテンツを動的にページに追加しています。私は別のドロップダウンの変更でこれをしたいです。だからJavaScriptのみを使用することができますが、私はJSでScriptletを使用することができません、これは本当に可能ですか?

編集 :Scriptletから取得した値についてもいくつかのアクションを実行したい

この種のものになります

function changeMethod(){
    var templateselected = document.getElementById("templateDropDown");
    var versionDropDown = document.getElementById("versionDropDown");
    if ( templateselected.options.selectedIndex != -1)
    {
        var selected=templateselected[templateselected.options.selectedIndex].value;
        removeChildNodes(versionDropDown);
        <% 
        RetrieveTempSecVersions[] lsListOfFiles = (RetrieveTempSecVersions []) request.getAttribute("templateNames") ;
        for (int i=0 ; i < lsListOfFiles[1].getVersionNumber().length ; i++ ) {
            System.out.println("helllooooo");%>
        versionDropDown.innerHTML+='<OPTION VALUE="'+<%=lsListOfFiles[1].getVersionNumber()[i]%>+'">'+<%=lsListOfFiles[1].getVersionNumber()[i]%>+'</OPTION>';
        <%}%>
    }
}
役に立ちましたか?

解決

はい あなたはこのようなものを持つことができます

function addCombo() {
    var textb = document.getElementById("txtCombo");
    var combo = document.getElementById("combo");

    var option = document.createElement("option");
    <c:forEach var="state" items="${stateList}" varStatus="status">  
    option.text = "${state}";
    option.value = "${state}";
    try {
        combo.add(option, null); //Standard
    }catch(error) {
        combo.add(option); // IE only
    }
    </c:forEach>
    textb.value = "";
} 

ノート: :私はこのコードをテストしていません、これは単なるデモンストレーションです

他のヒント

JavaScriptが同じJSPページでインラインまたは宣言されている場合、問題はありません。何かのようなもの:

<script type="text/javascript">
var foo = '${foo}'; // or <%= foo => if you like
</script>

別の.jsファイルにある場合は、特別なサーブレットを介して.jsファイルを提供する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top