我想在下拉列表中显示来自数据库的值。 <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>
它显示了一个很大的空列表。
如何从数据库中获取下拉列表中的值?
最佳答案
我可以从您提供的代码中看出以下内容:
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
(total-count) 从数据库中获取,而不是创建一个新实例,然后调用 .getEmpFname()
在那个例子中。
关于jsp - Liferay 中包含数据库值的下拉列表显示为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15741838/