【问题标题】:<p:confirm> internationalization jsf<p:confirm> 国际化 jsf
【发布时间】:2014-03-09 15:07:54
【问题描述】:

我刚刚在国际化中遇到了一些奇怪的事情。事实上,我的 jsf 页面的某些部分看起来像这样

<p:commandButton title="#{msg['delete']}" icon="ui-icon-trash" update="form"
                 actionListener="#{homePageController.delete}">
    <p:confirm header="#{msg['confirmation']}" message="#{msg['are.you.sure']} ?" 
               icon="ui-icon-alert" />  
</p:commandButton>

<p:confirmDialog global="true" showEffect="fade" hideEffect="drop">  
        <p:commandButton value="#{msg['yes']}" type="button" 
                         styleClass="ui-confirmdialog-yes" 
                         icon="ui-icon-check"/>  
        <p:commandButton value="#{msg['no']}" type="button" 
                         styleClass="ui-confirmdialog-no" 
                         icon="ui-icon-close"/>       
</p:confirmDialog>

而且出现的问题是,每当我切换语言时,除了 headerp:confirmmessage 之外,所有字符串都被翻译强>。

还要注意,我使用 ajax 请求,如果我刷新页面,一切正常。

这是一些突出显示问题的快照(我还没有翻译成法语)

如果我刷新页面,我得到了我想要的

【问题讨论】:

  • 确保您在更改语言/或尝试重新加载整页时update他们
  • 我确信更新运行良好,因为是、否以及工具栏操作标题都得到了很好的翻译。此外,整个页面重新加载可以解决我的问题(我也提到过)。

标签: ajax jsf-2


【解决方案1】:

我也遇到了同样的问题。手动页面刷新解决了我的问题(我不知道您是否指的是手动页面刷新)。

比我将它添加到我的 commandLink 更改语言环境并且它有效:

oncomplete="javascript:location.reload(true)"

【讨论】:

    【解决方案2】:

    我发现了问题。这可能是 Primefaces 的一个错误。我刚刚摆脱了 p:confirm

    <p:commandButton title="#{msg['delete']}" icon="ui-icon-trash" type="button"
                     onclick="confirmation.show()" />
    
    <p:confirmDialog widgetVar="confirmation" showEffect="fade" hideEffect="drop"
                     header="#{msg['confirmation']}" 
                     message="#{msg['are.you.sure']} ?">
    
            <p:commandButton value="#{msg['yes']}" icon="ui-icon-check"
                             styleClass="ui-confirmdialog-yes" update="form" 
                             actionListener="#{homePageController.delete}"
                             oncomplete="confirmation.hide()"/>
    
            <p:commandButton value="#{msg['no']}" type="button" 
                             styleClass="ui-confirmdialog-no"
                             icon="ui-icon-close" onclick="confirmation.hide()"/>
    
    </p:confirmDialog>
    

    【讨论】:

      猜你喜欢
      • 2012-05-13
      • 2011-11-14
      • 2010-09-10
      • 2011-06-02
      • 2014-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多