gpt4 book ai didi

JSF 临时变量

转载 作者:行者123 更新时间:2023-12-05 03:16:01 27 4
gpt4 key购买 nike

有没有办法在JSF页面中临时保存计算值?我想在不计算两次的情况下执行以下操作:

<h:outputText value="#{complexModel.currencyAmount.currency}">
<h:outputText value="#{complexModel.currencyAmount.amount}">

我已经尝试使用别名 bean,但我收到一条错误消息,提示 java.lang.IllegalArgumentException - 行不可用。

例如

<t:aliasBean id="bean" alias="#{bean}" value="#{complexModel.currencyAmount}">
<h:outputText value="#{bean.currency}">
<h:outputText value="#{bean.amount}">
</t:aliasBean>

谢谢。

最佳答案

两种方式(至少):

  1. 使用您的 complexModel 的延迟初始化字段.像这样的东西:

    private Currency currencyAmount;
    public Currency getCurrencyAmount() {
    if (currencyAmount == null) {
    currencyAmount = calculateCurrencyAmount();
    }
    return currencyAmount;
    }
  2. 使用 JSTL <c:set>标签:

(首先是命名空间)

xmlns:c="http://java.sun.com/jstl/core"

然后

<c:set var="varName" value="#{complexModel.currencyAmount}" />

然后可以通过 #{varName} 访问计算值.

关于JSF 临时变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2244763/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com