如果链接是java中的404,如何不显示按钮?

如果链接是java中的404,如何不显示按钮?,java,jsf,Java,Jsf,我来讨论一个问题,我有一个指向pdf的按钮链接。我需要帮助检查是否没有pdf(404),然后根本不显示按钮。如果是200,则显示按钮。如何在java中实现这一点?谢谢 这是我的密码: <a href="#{jobDataHolder.jobpayGrade}" class="btn btn-info-One" target="_blank">Pay</a> 下面是如何获取页面的错误代码 URL url = new URL(jobpayGrade); Ht

我来讨论一个问题,我有一个指向pdf的按钮链接。我需要帮助检查是否没有pdf(404),然后根本不显示按钮。如果是200,则显示按钮。如何在java中实现这一点?谢谢

这是我的密码:

<a href="#{jobDataHolder.jobpayGrade}" class="btn btn-info-One" target="_blank">Pay</a>

下面是如何获取页面的错误代码

    URL url = new URL(jobpayGrade);
    HttpURLConnection connection = (HttpURLConnection)url.openConnection();
    connection.setRequestMethod("GET");
    connection.connect();

    int code = connection.getResponseCode();
    if(code==200){
        //set visible
    }else if(code==404){
        //set not visible
    }

如果我在实现它,它看起来会有点像这样

if(isValidURLConnection(jobpayGrade)){
    button.setVisible(true);
}else {
    button.setVisible(false);
}

private boolean isValidURLConnection(String jobPayGrade){
    URL url = null;
    try {
        url = new URL(jobPayGrade);
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }
    HttpURLConnection connection = (HttpURLConnection)url.openConnection();
    try {
        connection.setRequestMethod("GET");
        connection.connect();
        return connection.getResponseCode()==200;
    } catch (IOException e) {
        e.printStackTrace();
    }
    return false;
}

下面是如何获取页面的错误代码

    URL url = new URL(jobpayGrade);
    HttpURLConnection connection = (HttpURLConnection)url.openConnection();
    connection.setRequestMethod("GET");
    connection.connect();

    int code = connection.getResponseCode();
    if(code==200){
        //set visible
    }else if(code==404){
        //set not visible
    }

如果我在实现它,它看起来会有点像这样

if(isValidURLConnection(jobpayGrade)){
    button.setVisible(true);
}else {
    button.setVisible(false);
}

private boolean isValidURLConnection(String jobPayGrade){
    URL url = null;
    try {
        url = new URL(jobPayGrade);
    } catch (MalformedURLException e) {
        e.printStackTrace();
    }
    HttpURLConnection connection = (HttpURLConnection)url.openConnection();
    try {
        connection.setRequestMethod("GET");
        connection.connect();
        return connection.getResponseCode()==200;
    } catch (IOException e) {
        e.printStackTrace();
    }
    return false;
}

需要下载的pdf是否在同一台服务器上?不,它不在同一台服务器上。需要下载的pdf是否在同一台服务器上?不,它不在同一台服务器上。感谢@Matt提供您的答案。我应该在我的
setJobpayGrade(String jobpayGrade)
方法中实现它吗?我个人会将检查放在一个单独的函数中,该函数返回错误代码并相应地处理异常,并基于函数的返回设置visibilitySo,基本上在我的
code==200
中,我返回我上面的网址,对吗?在我的else子句中,我可以返回一个自定义错误页面,比如
/error404.xhtml
?我还需要在前端调用我的方法吗?祝你好运,编码愉快如果这个答案满足问题,请将答案标记为已接受,这样其他人就不会认为问题仍然是开放的谢谢@Matt的回答。我应该在我的
setJobpayGrade(String jobpayGrade)
方法中实现它吗?我个人会将检查放在一个单独的函数中,该函数返回错误代码并相应地处理异常,并基于函数的返回设置visibilitySo,基本上在我的
code==200
中,我返回我上面的网址,对吗?在我的else子句中,我可以返回一个自定义错误页面,比如
/error404.xhtml
?我还需要在前端调用我的方法吗?祝你好运,编码愉快如果这个答案满足问题,请将答案标记为已接受,这样其他人就不会认为问题仍然存在