jsp - Liferay 中包含数据库值的下拉列表显示为空

标签 jsp liferay

我想在下拉列表中显示来自数据库的值。 <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/

相关文章:

html - 浏览器中的链接 href 无效?

jquery - 如何将ajax的成功函数的结果与字符串进行比较

java - HTTP 状态 500 - Servlet 执行引发异常 (java.lang.ClassNotFoundException)

liferay - Velocity(VM)模板请求参数 : Getting GET variables

java - Liferay DLFileEntryLocalServiceUtil.addFileEntry 不创建 AssetEntry 记录

liferay - 如何在 Liferay Portlet 中设置 Portlet 加载顺序

java - Struts:从 View 访问 bean 属性

java - 使用 JSP 作为 View 引擎注销的 Spring Boot 安全性不起作用

Liferay 和内容安全策略

mysql - 如何查看 Liferay 数据库中最后创建的项目