根据条件禁用来自数据库的输出链接

Disable an outputlink coming from database based on condition

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

我正在使用布尔结果对 preRequisiteNull 进行 swtting,并在 primefaces 中呈现输出链接,但如果只有一行具有真实值,它就会消失。

我的代码:

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 循环。

如果一个 link = null ,你想禁用 link 吗?对吗?

如果是,那么如果一个 link 为空,则必须中断循环,否则下一个 notNull link 将覆盖该值。

替换这个:

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;
            }
        }
    }

但是 我看不出你是如何将 link 状态设置为禁用的。如果一行为空,我的建议将失效,但你必须更新该行的状态 link!