如何使用带有值的jsf模板

时间:2014-04-09 12:09:25

标签: jsf templates jsf-2

我正在为我的视图使用模板,因为我有10个视图,并且除了值之外都需要相同的代码。

只是输出文本等信息的值我做得很好,但我想知道的是我如何添加将数据从应用程序的另一部分拉入模板的值

目前我有:

                <p:spinner id="ajaxspinner0-19"value="#{markingBean.markToEdit.markSectionOne}" 
                           stepFactor = "1"  min="0" max="19" 
                           disabled = "#{formBean.number != 1}" >  
                    <p:ajax update="ajaxspinnervalue " process="@this" />  
                </p:spinner> 

此代码不在视图中所有jsut的模板中并且运行良好,该值将显示在微调器中,如71所示

我想知道的是我怎么能在模板中有这个,它会像这样加载,但也有机会这样第一页我会value="#{markingBean.markToEdit.markSectionOne}"和第二页{{1等等

重要的是,当页面加载时,它的行为与顶部示例完全相同,并显示正确的值

谢谢大家!

编辑:

这是目前的观点

value="# {markingBean.markToEdit.markSectionTwo}"

1 个答案:

答案 0 :(得分:1)

如果您将此p:spinner部分放在ui:composition中,请执行以下操作:

<强> spinner.xhtml

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
 xmlns:u="http://java.sun.com/jsf/composite/ui" 
 xmlns:ui="http://java.sun.com/jsf/facelets" 
 xmlns:f="http://java.sun.com/jsf/core" 
 xmlns:h="http://java.sun.com/jsf/html" 
 xmlns:p="http://primefaces.org/ui">

      <p:spinner id="#{spinnerId}"value="#{selectedValue}" 
                       stepFactor = "1"  min="0" max="19" 
                       disabled = "#{disabled}" >  
                <p:ajax update="#{update}" process="@this" />  
      </p:spinner>

</ui:composition> 

查看

然后,您可以使用ui:param

将其包含在视图中
<ui:include src="path/to/your/spinner.xhtml">
        <ui:param name="selectedValue" value="#{markingBean.markToEdit.markSectionOne}" />
        <ui:param name="disabled" value="#{formBean.number != 1}" />
        <ui:param name="update" value="ajaxspinnervalue" />
        <ui:param name="spinnerId" value="ajaxspinner1" />
</ui:include>
<ui:include src="path/to/your/spinner.xhtml">
        <ui:param name="selectedValue" value="#{markingBean.markToEdit.markSectionTwo}" />
        <ui:param name="disabled" value="#{formBean.number != 1}" />
        <ui:param name="update" value="ajaxspinnervalue" />
        <ui:param name="spinnerId" value="ajaxspinner2" />
</ui:include>

我希望我理解你。