0

我有以下几点:

public abstract class aBean{... methods and variables ...}

@ManagedBean, ViewScoped
public class BeanType1 extends aBean{...only one method overritten...}

@ManagedBean, ViewScoped
public class BeanType2 extends aBean{...only one method overritten...}

是否可以使用 BeanType1 链接到 View.xhtml (h:outputlink) 并使用 BeanType2 链接到(相同的)View.xhtml?我需要一种视图继承;喜欢使用像 #{BEANPARAM.method} 这样的 EL 表达式,其中 BEANPARAM 可以是 BeanType1 或 BeanType2...

视图完全相同,我想避免重复它...

这是可能的还是我需要两个具有不同 bean 的相同视图(使用 #{viewScope[PARAM].}?我不想要的是使用 GET 参数,因为用户可以更改它,这会导致不同结果(不安全)

4

1 回答 1

1

您不能拥有任何类型的视图继承,但您可以做的是重用您的视图。

#{beanParam....}使用类似于您自己已经编写的内容动态编写它。

然后包含您的动态视图<ui:include>并使用如下定义 beanParam <ui:param>

<ui:include src="dynamicView.xhtml">
    <ui:param name="beanParam" value="#{beanType1}" />
</ui:include>
于 2013-08-25T06:26:09.990 回答