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

时间:2015-04-07 11:27:08

标签: jsf primefaces

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

我使用布尔结果来搜索preRequisiteNull并在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;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

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

如果一个链接= 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;
            }
        }
    }

但是我无法看到您如何设置要禁用的链接状态。如果一行为空,我的建议会中断,但你必须更新该链接的状态!