Я хочу создать динамическое текстовое поле в jsf2 в datatable с текстовыми полями на основе нажатия кнопки добавления строки. Я новичок в программировании jsf. Может кто-нибудь скажет мне базовый пример для динамического поколения. Я прочитал ui:repeat
и c:foreach
, но мне нужен практический пример.Создание динамических входов в jsf2
0
A
ответ
1
Для вашего образца,
код XHTML:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
</h:head>
<h:body>
<h:form id="form1">
<h:commandButton value="Add new Row" actionListener="#{myBean.addNewEmployee}"/>
<h:dataTable value="#{myBean.employeeList}" var="emp">
<h:column>
<f:facet name="header">
Employee Id
</f:facet>
#{emp.empId}
</h:column>
<h:column>
<h:inputText value="#{emp.empName}"/>
</h:column>
</h:dataTable>
</h:form>
</h:body>
</html>
JSF сведущих боб
@ManagedBean
@ViewScoped
public class MyBean implements Serializable {
List<Employee> employeeList;
public List<Employee> getEmployeeList() {
return employeeList;
}
public void setEmployeeList(List<Employee> employeeList) {
this.employeeList = employeeList;
}
public void addNewEmployee(ActionEvent event) {
employeeList.add(new Employee(employeeList.size(), null));
}
@PostConstruct
public void init() {
employeeList = new ArrayList<Employee>();
employeeList.add(new Employee(1, "Emp1"));
employeeList.add(new Employee(2, "Emp2"));
}
public MyBean() {
}
}
Сотрудник класса (Вы можете использовать класс сущностей)
public class Employee {
Integer empId;
String empName;
public Integer getEmpId() {
return empId;
}
public void setEmpId(Integer empId) {
this.empId = empId;
}
public String getEmpName() {
return empName;
}
public void setEmpName(String empName) {
this.empName = empName;
}
public Employee(Integer empId, String empName) {
this.empId = empId;
this.empName = empName;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Employee other = (Employee) obj;
if (this.empId != other.empId && (this.empId == null || !this.empId.equals(other.empId))) {
return false;
}
return true;
}
@Override
public int hashCode() {
int hash = 5;
hash = 41 * hash + (this.empId != null ? this.empId.hashCode() : 0);
return hash;
}
}
Вы может напрямую использовать abov e код. А также я предлагаю использовать PrimeFaces компонент для продвинутых манипуляций
Смежные вопросы
- 1. JSF2 Создание динамических выражений EL
- 2. Создание динамических имен входов, созданных JQuery добавить
- 3. Изменение значения динамических входов
- 4. Выравнивание динамических входов
- 5. Выравнивание динамических входов
- 6. Проблема с созданием динамических входов
- 7. Создание динамических имен
- 8. Создание обработчика для динамических форм
- 9. Получение значения двух динамических входов AJAX
- 10. Создание динамических граней в Elasticsearch
- 11. Создание динамических Hotspots в ASP.net
- 12. Создание динамических объектов в PHP
- 13. Создание динамических субдомен в asp.net
- 14. Создание динамических имен в цикле
- 15. Создание динамических функций в классах
- 16. Создание динамических запросов в C#
- 17. Создание динамических форм в ActiveAdmin
- 18. Создание динамических фильтров в таблице
- 19. Создание динамических массивов в Powershell
- 20. Создание динамических ссылок в java
- 21. Создание динамических вкладок в android
- 22. Создание динамических параметров в ssrs
- 23. Создание динамических действий в андроиде
- 24. Создание динамических полей в CRM
- 25. создание динамических папок в asp
- 26. Создание динамических потоков в C
- 27. Создание динамических матриц в MATLAB
- 28. Создание динамических массивов в Angular2
- 29. создание динамических переменных в C#
- 30. создание динамических форм в django
Благодаря jitesh попытается –
будет это создать еще один ряд inputtext на кнопку нажать –
Да добавляет новую строку с inputText – Jitesh