Моя страница открывает новую вкладку, и я не знаю почему

#java #html #web #download #tabs

Вопрос:

У меня есть веб-страница, которая должна загружать XLS, когда даты ввода верны, но если они неверны, она должна отображать сообщение и останавливать процесс загрузки.

Все работает нормально, и я сообщаю пользователю, когда даты неверны, но он открывает новую вкладку каждый раз, когда я нажимаю на кнопку. Если даты указаны правильно, открывается новая вкладка, но она закрывается при загрузке XLS, если она неверна, она сообщает пользователю, но открывает новую вкладку и не закрывает ее. Как я могу это исправить и не открывать новую вкладку?

Я поместил свой код ниже:

HTML:

         <div class="botonera">
            <a4j:commandLink id="regimenConcertadoLink"
                styleClass="botonAplicacionTXT"
                action="#{descargaInformesBean.validarInformeRegimenConcertado()}"
                oncomplete="if(#{descargaInformesBean.informeRegimenConcertadoValido}){#{rich:element('descargaInforme')}.onclick();}"
                status="waitStatus">
                <h:outputText value="Descargar Informe" />
                <h:graphicImage value="/img/ico_descargar.gif"
                    alt="Descargar Informe"
                    title="Descargar Informe" />
                <f:param name="requiredValidator"
                    value="requiredValidator" />
            </a4j:commandLink>
            <h:commandLink id="descargaInforme"
                styleClass="botonAplicacionTXT" target="_blank"
                action="#{descargaInformesBean.descargarInformeIngresos()}">
            </h:commandLink>
        </div>
 

JAVA:

  public void descargarInformeIngresos() throws ServiceException, IOException {        
    if ((filtroFechaDesde != null amp;amp; filtroFechaHasta != null) || (filtroFechaIngresoDesde != null amp;amp; filtroFechaIngresoHasta != null)) {
        //DOXMLSTUFF 
    }else {
        AtlasFacesUtils.addErrorMessageFromBundle("error.fecha.vacia");
    }
}
 

Как вы видите в коде, если обе даты равны нулю, я ничего не делаю и показываю сообщение, чтобы посоветовать пользователю, это работает нормально, но все равно открывает новую вкладку, а я не хочу этого делать

Спасибо!

Ответ №1:

Я считаю, что это вызвано используемым вами атрибутом целевого тега. В

target="_blank" открывает новую вкладку

Попробуйте изменить это на

target="_self" и посмотрите, исправит ли это.

Комментарии:

1. это работает, большое спасибо!!!!

2. Это потрясающе!!! Я рекомендую прочитать это, чтобы лучше понять, что происходит в этом теге. w3schools.com/tags/att_a_target.asp

3. Удачного дня, мой чувак