为什么咆哮消息不使用通用布局显示屏幕的左侧

时间:2013-06-27 07:54:09

标签: jsf-2 primefaces jboss6.x

在我的项目中,要求当我们将语言从英语改为阿拉伯语时,所有布局都将以从右到左的位置显示。 咆哮消息工作正常,当我没有使用常见的布局,但当我在我的页面的共同布局中添加此东西,然后它仍然只显示右侧..

源代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html" 
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core" 
      xmlns:p="http://primefaces.org/ui">
    <h:head>
        <title>Facelet Title</title>
        <style type="text/css">
            .ui-growl{
                #{msg['msg']}:20px;
            }
        </style>
    </h:head>

    <body>

    <ui:composition template="/home/template/common1/commonLayout.xhtml">
        <ui:define name="content">

        <h:form id="myform">


            <p:growl id="msgs" sticky="true" autoUpdate="true" />
            <f:event listener="#{localeControllerBean.islang}" type="preRenderView" />
            <p:outputLabel for="sname" value="#{msg['welcome.jsf']}"
                            styleClass="label" />
                        <p:inputText id="sname" value="#{sponsorBean.sponsor_name}"
                            required="true" requiredMessage="#{msg['welcome.jsf']}"
                            styleClass="input" />
                            <p:commandButton id="submit" value="Save" ajax="false"
                        action="#{sponsorBean.save}" style="margin-bottom:50px;"
                        update="msgs" />
        </h:form>
        </ui:define>
        </ui:composition>
    </body>
</html>

1 个答案:

答案 0 :(得分:2)

构建视图时, <ui:composition>之外的任何 忽略

commonLayout.xhtml主模板中,您应该在<ui:insert>内添加新的<h:head>

<h:head>
    ...
    <ui:insert name="head" />
</h:head>

然后在模板客户端的<ui:composition>内定义它:

<ui:composition template="...">
    <ui:define name="head">
        <style>.ui-growl{ #{msg['msg']}: 20px; }</style>
    </ui:define>

    <ui:define name="content">
        ...
    </ui:define>
</ui:composition>

(顺便说一下#{msg['msg']}绝对不是自我记录的;我自己也宁愿使用<html dir="#{direction}">,这样你就可以使用例如html[dir='rtl'] .ui.growl选择器)< / em>的

另见: