В классе обслуживания вы можете добавить все компоненты, в массиве, вы хотите отображения в списке. Так же, как это
ArrayList<String> htmlControls = new ArrayList<>();
htmlControls.add("input");
htmlControls.add("textarea");
htmlControls.add("checkbox");
затем добавить этот список в массив HTTP сессии объект как
session.setAttribute("htmlCtrls",htmlControls);
В вашей JSP, вы можете использовать JSTL for-each loop
для создания динамического списка.
<c:forEach var="controls" items="${session.htmlCtrls}">
<options><c:out value="${controls}"/></options>
</c:forEach>
Применить onChange()
событие на HTML select element
с помощью JQuery
<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>
Вы можете добавить класс или идентификатор для каждого элемента управления HTML & применить CSS динамически к ним с помощью JQuery или с помощью внешних CSS.
Надеюсь, это вам поможет.
@Siddharth Хорошо, что решение работает для вас. – OO7