【问题标题】:JSF two beans and just one view?JSF 两个 bean 和一个视图?
【发布时间】:2013-08-24 17:35:10
【问题描述】:

我有以下内容:

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 参数,因为用户可以更改它,这会导致不同的结果(不安全)

【问题讨论】:

    标签: jsf inheritance view el managed-bean


    【解决方案1】:

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

    使用 #{beanParam....} 之类的东西动态地编写它,就像您自己编写的一样。

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

    <ui:include src="dynamicView.xhtml">
        <ui:param name="beanParam" value="#{beanType1}" />
    </ui:include>
    

    【讨论】:

      猜你喜欢
      • 2013-09-10
      • 2012-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-11
      • 2012-06-20
      • 1970-01-01
      • 2016-01-31
      相关资源
      最近更新 更多