0

我正在开发一个复合组件,它必须进行一些计算才能使布局正常工作。对 EL 来说很复杂的计算(实际上并不复杂,但我无法通过 EL 执行它们)。我可以专门为该复合组件创建一个 ManagedBean 吗?这实际上是关于这是否是好的做法,我想我应该在诉诸组件专用 managedbean 之前尝试很多方法。如果可以,组件如何在渲染之前调用托管 bean 逻辑。假设它必须根据某些属性计算内部 div 的高度和宽度。这甚至可能吗?我想在组件中封装执行此类计算等的所有复杂性。

4

1 回答 1

1

您可以将您的逻辑插入到变量的 getter(或 setter)中。

编写您的组件似乎只是为了执行计算。

A.如果需要页面的参数进行计算,则从页面传递。

B. 在渲染前调用的操作或变量的实际 getter 中使用这些参数

public int getCalculatedAttribute() {
    return width*height-100;
}

另一种方法是在页面呈现之前的任何阶段调用方法。

于 2011-02-08T08:56:54.383 回答