java - 在Liferay搜索容器中显示来自不同数据库表的数据: Liferay

标签 java database liferay liferay-6

我一直在liferay中使用搜索容器来显示表中的数据。效果很好!! 这是一段代码:

<% 
List<testapp> pendingApprovals = ActionClass.getPendingLeaveApplications();
%>
<liferay-ui:search-container delta="20" emptyResultsMessage="No Results Found">
    <liferay-ui:search-container-results total="<%= pendingApprovals.size() %>"
       results="<%= ListUtil.subList(pendingApprovals , searchContainer.getStart(), searchContainer.getEnd()) %>" />

    <liferay-ui:search-container-row keyProperty = "empId" modelVar="search"
        className="com.test.mis.portal.model.testapp">
        <liferay-ui:search-container-column-text name='Leave Duration' value = '<%=String.valueOf(search.getLeaveDuration())%>'   href="" />
    </liferay-ui:search-container-row>

    <liferay-ui:search-iterator/>
</liferay-ui:search-container>

使用上面的代码,我根据某些条件显示 testapp 表中的数据。 在相同的代码中,我想添加一行并显示数据。该行的数据应该来自另一个表。简而言之,我想使用两个不同数据库表中的搜索容器显示数据。 可以做吗?我的要求是数据来自两个不同的表

根据要求编辑的部分 我有包含一些字段的员工表 我有另一张 table 留下一些字段。 empId 位于休假表中,该表映射到员工表。

我有一个搜索容器,仅当休假待处理时才显示休假表中的数据 我只想显示员工表中与休假表匹配并满足上述条件的字段。

最佳答案

你的问题有两个方面:

  1. 能够使用employeeId 外键从表Leave 和Employee 中检索数据。您不需要为此进行自定义查询,这是一项非常简单的任务,我只是指出这一点。
  2. 在搜索容器中显示无法从一个数据/表检索到的数据。正如您所看到的,名为“className”的“liferay-ui:search-container-row”属性可以采用一个类名称的值。对此,我可以看到两种方法:

a) 检索每个休假表的结果,并按员工 ID 和待处理状态进行筛选。然后在每一行中,使用employeeId再次获取Employee实例(通过EmployeeLocalServiceUtil.getEmployee(empId)),然后获取Employye属性,例如员工姓名等。这将需要您亲自处理jsp文件

b) 创建一个自定义类(例如 EmployeePendingLeaves),并将其用作 searchContainer 的模型类。不要将其包含在您的数据库模型中。只需创建一个扫描 Employee 和 Leave 表的函数,并为每个结果行创建一个 EmployeePendingLeaves 实例。它应该为每一行的列都有一个变量/属性

关于java - 在Liferay搜索容器中显示来自不同数据库表的数据: Liferay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16171384/

相关文章:

java - 将文件下载到客户端系统中的特定位置

mysql - mysql查询中的行因变量

sql - 为什么 DB2 不使用我的 MQT 表?

javascript - Liferay 6.0.6 plugin SDK生成的骨架portlet工程中main.js和main.css应该如何使用?

java - Tomcat Liferay 小文件上传(< 1kb)

java - Hibernate后端条件查询包含: where(1=1) what does it means?

java - 媒体播放器无法第二次播放

java - Android Studio gradle(错误 :Failed to resolve: com. android.support.constraint:constraint-layout-so)

sql-server - 适合 Oracle 开发人员/dba 的 SQL Server

java - Java中从文件的相对路径获取文件大小