如何根据日期是否大于今天的日期来渲染JSF组件?

4

我从服务器端获取一个日期,如何在我的xhtml代码中进行比较,以便如果它小于今天的日期,我将呈现面板,否则不呈现。


一种方法是从服务器端获取日期并在渲染时进行比较,如:#{abc.todaydate le abc.theDate}。是否有办法用JavaScript实现这个功能? - user644745
1
既然您说您想呈现JSF组件,实际上您需要在服务器端进行比较(Date.after(someOtherDate)将为您提供布尔值,您可以用它来进行比较)。否则,“隐藏”的组件仍将可见(任何人都可以使用“查看源代码”),这会带来安全问题。 - Paweł Dyda
2个回答

3
您可以在您的Bean中定义一个方法。
class MyBean{    
  public boolean isDateBigger(){
   //date comparissoin and return result
  }
}

关于XHTML

render="#{myBean.dateBigger}"

更新:

根据您的评论,如果您想通过javascript实现,则需要:

使用两个隐藏参数。一个表示当前毫秒数,另一个表示您日期的毫秒数。

使用javascript进行比较,并应用DIV的样式visibility:hidden以进行隐藏。


1
尝试

try

{mbean.cardExpiryDate gt now}


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接