Как я могу отобразить компонент JSF на основе того, превышает ли дата сегодняшнюю дату?

#java #jsf #date #xhtml

#java #jsf #Дата #xhtml

Вопрос:

я получаю дату со стороны сервера, и как мне сравнить это в моем коде xhtml, чтобы, если она меньше сегодняшней даты, я отображал панель, в противном случае нет.

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

1. один из способов сделать это — получить обе даты со стороны сервера и сравнить их в файле rendered=#{abc.todaydate abc.theDate}. Есть ли какой-либо способ, которым я могу сделать это с помощью javascript?

2. Поскольку вы сказали, что хотите отобразить компонент JSF, вам действительно нужно провести сравнение на стороне сервера ( Date.after(someOtherDate) выдаст вам логическое значение, которое вы можете использовать для этого). В противном случае «скрытый» компонент все равно будет виден (всегда можно использовать «Просмотр источника»), что создает проблему безопасности.

Ответ №1:

У вас может быть метод в вашем компоненте

 class MyBean{    
  public boolean isDateBigger(){
   //date comparissoin and return result
  }
}
  

в XHTML

 render="#{myBean.dateBigger}"
  

Обновить:

Согласно вашему комментарию, если вы хотите выполнить это с помощью javascript, то.

возьмите два скрытых параметра. Один текущий миллиметр, а другой, представляющий миллиметр вашей даты

сравните их с помощью javascript и примените стиль DIV visibility:hidden , чтобы скрыть

Ответ №2:

попробуйте

{mbean.cardExpiryDate gt now}