Jsf 根据条件禁用来自数据库的outputlink

Jsf 根据条件禁用来自数据库的outputlink,jsf,primefaces,Jsf,Primefaces,我正在开发一个应用程序,在这个应用程序中,我遇到了从数据库中获取一些链接的情况,基于这些链接,正在进行更多的检索。如果基于此outputlink检索到空行,我想禁用outputlink 我正在使用布尔结果切换PrerequisientUrl,并在primefaces中呈现outputlink,但如果只有一行具有真值,它就会消失 我的代码: for(LabOrdersDTO laborderDto:labOrdersDTOListDataModel.getWrappedData()) {

我正在开发一个应用程序,在这个应用程序中,我遇到了从数据库中获取一些链接的情况,基于这些链接,正在进行更多的检索。如果基于此outputlink检索到空行,我想禁用outputlink

我正在使用布尔结果切换PrerequisientUrl,并在primefaces中呈现outputlink,但如果只有一行具有真值,它就会消失

我的代码:

for(LabOrdersDTO laborderDto:labOrdersDTOListDataModel.getWrappedData())
{
    System.out.println("Speciman Name"+laborderDto.getTest());

    System.out.println(laborderDto.getLabNo());

    for(LabOrdersDTO laborderDto2:labTestPreReqList.getWrappedData())
    {
        System.out.println("Lab test"+laborderDto2.getTest());
        if(laborderDto2.getTestPreReq()!=null){

            preRequisiteNull = false;
        }else{
            preRequisiteNull = true;
        }
    }
}

如果我理解正确,那么你的错误就在for循环中

如果一个链接=null,是否要禁用链接?对吧?

如果是,那么如果一个链接为null,则必须断开循环,否则下一个notNull链接将覆盖该值

替换此

for(LabOrdersDTO laborderDto:labOrdersDTOListDataModel.getWrappedData())
{

    for(LabOrdersDTO laborderDto2:labTestPreReqList.getWrappedData())
    {
       if(laborderDto2.getTestPreReq()!=null){

            preRequisiteNull = false;
        }else{
            preRequisiteNull = true;
        }
    }
}
此宽度:

for(LabOrdersDTO laborderDto:labOrdersDTOListDataModel.getWrappedData())
    {

        for(LabOrdersDTO laborderDto2:labTestPreReqList.getWrappedData())
        {
            if(laborderDto2.getTestPreReq()==null){        
                preRequisiteNull = true;
                // update the link state or no idea how you manage it to disable the link
                break;
            }
        }
    }

但是我看不出您是如何将链接状态设置为禁用的。如果一行为空,我的建议将中断,但您必须更新该链接的状态

不清楚问题是什么,也不清楚你在问什么。