【问题标题】:Define a property in Facelets page在 Facelets 页面中定义属性
【发布时间】:2015-01-16 09:53:00
【问题描述】:

我知道通过使用<f:loadBundle> 我可以加载整个属性文件。但是 Facelets 中是否有任何标签,我可以通过它在 Facelets 文件中定义一个属性并可以在 Facelets 页面中使用。

我知道这也可以通过控制器层(如getSomeProperty())来完成,但我不想这样做。我只是在寻找可以做到这一点的标签。

换句话说,我们可以像这样在 XML 中做到这一点

<properties>
  <propertyName>propertyValue</propertyName>
<proprties>

那么在 Facelets 中我该怎么做呢?

【问题讨论】:

  • 您一直在混淆地谈论“XHTML/JSF”,我将其固定为“Facelets”,但现在看来您实际上是想说“faces-config.xml”(或“web.xml”)?你现在到底在问什么?您想在 faces-config.xml 或 web.xml 中定义一个常量(不是 i18n 属性!)并能够通过 Facelets 页面中的一些 EL #{...} 访问它?
  • 我不想在 *.xml 或 *.properties 文件中定义任何内容。我只想使用一个标签(jsf-page)来定义一个可以在那个jsf页面中使用的属性......希望你现在明白了。
  • 那你为什么把“Facelets”编辑成“XML”呢?这让我感到困惑,现在看来,实际上是你自己感到困惑。无论如何,如果您详细阐述功能需求,您会为您自己和我们提供一个很大的帮助,您可能会错误地认为这一切都是正确的解决方案。 IE。你到底想解决什么问题?

标签: jsf-2 facelets


【解决方案1】:

只需使用任一 JSTL 定义一个普通的页面范围变量。使用 JSTL 的&lt;c:set/&gt;

<c:set var="propertyName" value="propertyValue"/>

然后您可以在页面中的任何位置使用#{propertyName}

【讨论】:

    猜你喜欢
    • 2011-02-05
    • 1970-01-01
    • 2012-07-06
    • 2019-02-25
    • 1970-01-01
    • 2011-03-26
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多