java - js 中的脚本

标签 java javascript jsp jstl scriptlet

我有一个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 = "";
} 

注意:我还没有测试过这段代码,这只是一个演示

关于java - js 中的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4509312/

相关文章:

java - 在预期路径中未找到片段

java - 贾斯珀异常 : equal symbol expected

java - 如何从已弃用的 Date 类型替换 getDate()?

java - 如何读取 Hibernate 映射

javascript - 经典的 asp 页面在 IE9 上无法正常运行

javascript - 我的第一个程序不合作

java - 创建 ArrayList 时应为 '(' 或 '['

java - 值未从 TextBox 传递到 Servlet 文件

javascript - 如何在执行脚本一段时间后暂停 javascript 然后继续?

java - <jsp :getProperty> strange behaviour