在java中动态创建文本框、下拉列表和其他控件

在java中动态创建文本框、下拉列表和其他控件,java,jquery,ajax,jsp,Java,Jquery,Ajax,Jsp,我正在使用strust2框架、jsp、java和cayenne作为orm开发一个web应用程序。我不熟悉所有这些技术,包括ajax和jquery。我必须创建一个jsp页面,其中用户从下拉列表中选择controlstextbox、label、combo box和下拉列表中的一个。它选择和提交的任何内容都应该在上面的同一页上创建。 如果我能管理好它们的尺寸,那就太好了 谢谢在您的服务类中,您可以将所有组件添加到一个数组中,并显示在下拉列表中。就这样 ArrayList<String> h

我正在使用strust2框架、jsp、java和cayenne作为orm开发一个web应用程序。我不熟悉所有这些技术,包括ajax和jquery。我必须创建一个jsp页面,其中用户从下拉列表中选择controlstextbox、label、combo box和下拉列表中的一个。它选择和提交的任何内容都应该在上面的同一页上创建。 如果我能管理好它们的尺寸,那就太好了


谢谢

在您的服务类中,您可以将所有组件添加到一个数组中,并显示在下拉列表中。就这样

ArrayList<String> htmlControls = new ArrayList<>();
htmlControls.add("input");
htmlControls.add("textarea");
htmlControls.add("checkbox");
在JSP中,可以对每个循环使用JSTL来创建动态下拉列表

<c:forEach var="controls" items="${session.htmlCtrls}">
    <options><c:out value="${controls}"/></options> 
</c:forEach>
您可以向每个html控件添加类或id,并使用JQuery或外部css对它们动态应用css

希望这对你有帮助

<c:forEach var="controls" items="${session.htmlCtrls}">
    <options><c:out value="${controls}"/></options> 
</c:forEach>
<script>
    $( "select" ).change(function () {
        var str = "";
        $( "select option:selected" ).each(function() {
            str = $( this ).text();
        });
        if(str == "input")
            $( "div" ).append("<input type='text' name='textbox1' value='' />");
        else if(str == "textarea")
            $( "div" ).append("<input type='textarea' name='textarea1' value='' />");
        // ...
    })
    .change();
</script>