bean中的值未正确显示的问题



我有一个模板页面,它包含了我十页所需的所有代码,其中页面之间的唯一差异是一些值

其中大多数都运行良好,但我对这部分代码有一个问题:

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

这段代码背后的想法是,它转到tooltipBean获取节保存值,将该值添加到此处,然后从另一个bean 中获取值

tooltipBean中的值是

 sectionSave = "#{markingBean.markToEdit.markSectionOne}";

我在视图页面中使用模板的方式是:

 <f:event listener="#{tooltipBean.setupForPageA}" type="preRenderView" />    
            <ui:include src="/WEB-INF/templates/commonForm.xhtml"/>

我使用使它在不使用模板的情况下正常工作

        <p>
            <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> 
        </p>

该代码会在微调器中给我值71,但是模板中的代码显示在微调器#{markingBean.markToEdit.markSectionOne}中,这是正确的,我只需要运行并返回71,而不是显示代码的值

这有意义吗,对不起,如果我写得很困惑,我不确定如何描述问题

我认为它只是没有在正确的时间被嵌入,是否可以先用值嵌入页面,然后给它时间让新值在被用户查看之前获得数据

不能从这样的backingbean中指定EL。微调器控件假定它对作为其值属性传入的任何内容都具有get和set访问权限。它不会试图将指定的值解释为EL,这可能是一个非常危险的副作用。

以下是我的处理方法。将值作为参数传递到模板:

<ui:include src="templates/commonForm.xhtml">
  <ui:param name="spinnerValue" value="#{markingBean.markToEdit.markSectionOne}" />
</ui:include>

然后,在模板中引用该参数:

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

相关内容

  • 没有找到相关文章

最新更新