一尘不染

js中的Scriptlet

jsp

我有一个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>';
        <%}%>
    }
}

阅读 381

收藏
2020-06-08

共1个答案

一尘不染

是的, 你可以有这样的东西

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 = "";
}

注意 :我尚未测试此代码,这只是一个演示

2020-06-08