2014-10-13 1 views
0

Я работаю над веб-приложением, используя рамки strust2, jsp, java и cayenne как orm. Я новичок во всех этих технологиях, включая ajax и jquery. Мне нужно создать страницу jsp, в которой пользователь выбирает один из элементов управления (текстовое поле, метка, комбинированное поле, выпадающее меню) из раскрывающегося списка. который когда-либо выбирает и подает, должен быть создан на той же странице выше. Было бы здорово, если бы я мог управлять их размерами.Динамическое создание текстового поля, выпадающего списка и других элементов управления в java

Благодаря

ответ

0

В классе обслуживания вы можете добавить все компоненты, в массиве, вы хотите отображения в списке. Так же, как это

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.

Надеюсь, это вам поможет.

+0

@Siddharth Хорошо, что решение работает для вас. – OO7

Смежные вопросы