【发布时间】:2011-11-23 13:24:33
【问题描述】:
在使用 jsp 作为 JSF 应用程序的视图描述语言时使用 f:loadbundle 非常简单。
我想知道在使用 facelets 时将这个 f:loadbundle 放在哪里
【问题讨论】:
在使用 jsp 作为 JSF 应用程序的视图描述语言时使用 f:loadbundle 非常简单。
我想知道在使用 facelets 时将这个 f:loadbundle 放在哪里
【问题讨论】:
除了taglibs的声明方式之外,它真的和JSP没有什么不同。
<!DOCTYPE html>
<html lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<f:loadBundle basename="com.example.i18n.text" var="text" />
<head>
<title>Facelets page</title>
</head>
<body>
<h:outputText value="#{text['some.key']}" />
</body>
</html>
这也适用于所有其他标签/组件。唯一的主要区别是您需要在 XML 命名空间中声明 taglib,而不是在老式 JSP <%@taglib %> thingy 中声明。
【讨论】:
<ui:composition> 之外的任何内容都将被忽略。只需在里面声明即可。
f:head之外?在这个问题上看到我的base.tpl:stackoverflow.com/questions/45537018/…
f:viewParam id="fooId" name="fooId" required="true" requiredMessage="#{bundle.PARAMETER_FOO_ID_IS_REQUIRED}" my p:message for="fooId" 仍然没有显示任何消息,但呈现标签(意味着我看到一个空的警报框)。