2013-04-01 2 views
2

Я хочу отображать значения в раскрывающемся списке, который поступает из базы данных. Код выглядит следующим образом в <form>:Выпадающий список со значениями из базы данных отображается пустым в Liferay

<aui:select id="empName" name="empName"> 

<% 
Employee employee; 
Employee newEmployee = new EmployeeImpl(); 
int totalEmployees = EmployeeLocalServiceUtil.getEmployeesCount(); 
for(int i=0; i<totalEmployees;i++) { 
%> 

<aui:option name = "opt" value ='<%=String.valueOf(newEmployee.getEmpFname())%>' /> 

System.out.println("newEmployee.getFname string value in loop: " +newEmployee.getEmpFname()); 

<% 
} 
%> 

</aui:select> 

Он показан большой пустой список.

Что делать, чтобы получить значения в выпадающем списке из базы данных?

+0

Вы получаете список занятых в newEmployee.getEmpFname() var? –

+0

Ravi: Я установил цикл, чтобы пройти через каждого сотрудника: Сотрудник newEmployee = new EmployeeImpl(); int totalEmployees = EmployeeLocalServiceUtil.getEmployeesCount(); for (int i = 0; i

ответ

3

Я могу выделить следующие из кода вы дали:

Employee newEmployee = new EmployeeImpl(); 
int totalEmployees = EmployeeLocalServiceUtil.getEmployeesCount(); 

Этот код перед циклом for, так что вы делаете, вы просто получаете total-count вместо фактического списка Employees ,

А вот внутри для петли:

<aui:option name = "opt" value ='<%=String.valueOf(newEmployee.getEmpFname())%>' /> 

вы просто выборка пустой строки "" или null значения через код newEmployee.getEmpFname(), так как ваш newEmployee объект не из базы данных, но создается в самой JSP и, следовательно, большой пустой список :-)

Я думаю, что нужно вернуть List<Employee> также с totalEmployees (общее кол-) из базы данных, а не создавать новый экземпляр, а затем просто звоню .getEmpFname() о n этот экземпляр.

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