2

我想在来自数据库的下拉列表中显示值。代码如下<form>

<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>

它显示了一个很大的空列表。

我应该怎么做才能从数据库中获取下拉列表中的值?

4

2 回答 2

3

我可以从您提供的代码中得出以下信息:

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

这段代码在for循环之前,所以你所做的只是得到total-count而不是实际的Employees.

在for循环内部:

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

您只是通过代码获取一个空字符串""null值,newEmployee.getEmpFname()因为您的newEmployee对象不是来自数据库,而是在 JSP 本身中创建的,因此是一个很大的空列表:-)

我认为您还需要从数据库中返回List<Employee>带有totalEmployees(总计数)的 a ,而不是创建一个新实例然后只调用.getEmpFname()该实例。

于 2013-04-01T14:09:17.417 回答
-1
enter code here

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

int totalEmployees = EmployeeLocalServiceUtil.getEmployeesCount();

List<Employee> list=  EmployeeLocalServiceUtil.getEmployees(0, totalEmployees );

for(Employee employeeList: list)
{

%>  

<aui:option value="<%=employeeList.getEmployeeName()%>"><%=employeeList.getEmployeeName()%> </aui:option>   

<% 
System.out.println(employeeList.getEmployeeName());
%>

<%
}
%>
</aui:select>
于 2018-09-11T08:19:27.550 回答