如果导航保持相同的JSF页面,则不会加载样式

时间:2013-03-26 07:53:20

标签: css jsf jsf-2 styles rendering

我有一个命令按钮,它绑定了它的动作方法。

<f:view >
    <pm:page title="Title">
        <pm:view id="viewId" swatch="c">
            <p:outputPanel id="panelId">
                <h:form id="formId">   

    <p:commandButton action="#{bean.actionMethod}" update="formId" value="Click" />
                           </h:form>
                     </p:outputPanel>
               </pm:view>
    </pm:page >
</f:view>

内部行动方法。导航指的是同一页面。某些值在操作方法内更新。

public String applyPeriod(String caller)
{
    .....
    retrun SAMEPAGE;
}

一切都好。但是没有渲染样式。页面返回默认样式。

知道如何加载样式。我不想通过真正的刷新来改变URL。我应该通过ajax调用来管理它。

我跟踪页面的请求。没有对风格的要求。

我使用primefaces,primefaces mobile,它是一个移动页面。

2 个答案:

答案 0 :(得分:2)

如果您没有在表单ID后面使用:,我相信问题可能与相对组件搜索有关,尝试根据相对标识符查找表单。通过使用不同元素的ID,您可以获得预期的行为,我会按下它们,因为它们是以与<p:commandButton/>的上下文相对的方式正确引用的。

尝试使用update="@form"update=":formId"。另外,作为附注,如果您想使用完整的ajax并且不会将用户重定向到任何地方,则您的方法应为void或返回null

答案 1 :(得分:0)

我真的不知道幕后的原因。但是,我通过提供精确的组件ID来更新commandButton的属性来解决这个问题。

<p:commandButton action="#{bean.actionMethod}" update="ListOfComponentIds" value="Click" />