我已经尝试过liferay-ui:search-container以表格/网格格式在UI上获取和显示数据库表记录.通过使用liferay-ui:search-container我得到如下所示的输出,

我在上面的屏幕截图中获取USER_表记录.
问题:
我想让网格列动态化,我希望为最终用户启用一个选项,以删除不需要的列并在相应的网格/表中添加所需的列.
EX:
在上面的屏幕截图中,以下列显示在网格中.
First Name, Last Name, Screen Name, Job Title, Organization, User Groups
Run Code Online (Sandbox Code Playgroud)
现在,如果用户想删除Job Title并希望Greetings and Mail Address在UI上添加列,而不需要触摸/修改代码.
我该如何实现此功能?
注意:
我需要为自定义模型实现此功能.
查询:
1)是否有任何API /方法来实现/启用此功能?
2)如果不能,我该如何实施这些步骤?有任何建议或步骤来完成这项任务吗?
我想将一个字符串数组转换为具有特定范围的列表.就我而言,我总是希望从索引1到最后一个索引.我不需要列表中包含的索引0值.有没有直接的方法可以用来过滤和转换到我需要的列表?
public class test1 {
public static void main(String[] args) {
String[] optArr = {"start", "map1", "map2", "map3"};
List<String> list = Arrays.stream(optArr).collect(Collectors.toList());
System.out.println(list);
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个包含一些String值的列表。我想与另一个String进行比较的列表。仅当另一个String与列表中的任何元素都不匹配时,我才应进入循环。我尝试了以下类似方法,但没有成功。还有其他替代方法可以在Java 8中做到这一点吗?
注意:在循环中,我将更多元素添加到同一列表中。因此,为避免出现这种情况ConcurrentModificationException,我在使用if条件进行验证。
List<String> mylist = new ArrayList<>();
mylist.add("test");
mylist.add("test1");
if(mylist.stream()
.filter(str -> !(str.equalsIgnoreCase("test")))
.findFirst()
.isPresent()) {
System.out.println("Value is not Present");
}
Run Code Online (Sandbox Code Playgroud) 我试图通过使用限制查询来限制查询结果。如果没有限制,查询将按预期工作。
@Query("SELECT a FROM DrmAdpodTimeSlot a where a.startTime > :startTime order by a.startTime desc")
public List<DrmAdpodTimeSlot> findByStartTime(@Param("startTime") Timestamp startTime);
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用限制(记录数)来限制记录时,如下所示,
@Query("SELECT a FROM DrmAdpodTimeSlot a where a.startTime > :startTime order by a.startTime desc limit 2")
public List<DrmAdpodTimeSlot> findByStartTime(@Param("startTime") Timestamp startTime);
Run Code Online (Sandbox Code Playgroud)
从上面的查询我得到以下错误,
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: limit near line 1, column 110 [SELECT a FROM com.dooreme.domain.DrmAd
podTimeSlot a where a.startTime > :startTime order by a.startTime desc limit 2]
Run Code Online (Sandbox Code Playgroud)
如何在 spring data jpa 查询中使用 order by limit 查询?
我有一个接口及其 2 个或多个实现,
public interface IProcessor {
default void method1() {
//logic
}
default void method2() {
//logic
}
public void method3();
public void method4();
}
Run Code Online (Sandbox Code Playgroud)
这里,method1实现method2逻辑在所有多个多个实现类中是通用的。因此定义为默认方法。因此,只能在实现类中重写其余方法。
public CarImpl implements IProcessor {
@Override
public void method3() {
//logic
}
@Override
public void method4() {
//logic
}
}
public VanImpl implements IProcessor {
@Override
public void method3() {
//logic
}
@Override
public void method4() {
//logic
}
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法可以在没有默认方法并且在各自的实现类中没有冗余代码的情况下实现这一点?因为如果方法中的代码default增加,那么界面就会显得很笨拙。
java ×3
java-8 ×2
hibernate ×1
hook ×1
java-stream ×1
jpa ×1
lambda ×1
liferay ×1
liferay-6 ×1
liferay-aui ×1
oop ×1
spring ×1
spring-data ×1