"msg" 在什么情况下是保留关键字?
In what context is "msg" a reserved keyword?
以下数据表显示“???messageId???”而不是正确的 ID:
<p:dataTable id="msgTable" var="msg" value="#{msgModel.messages}">
<p:column headerText="Id">
<h:outputText value="#{msg.messageId}" />
</p:column>
</p:dataTable>
经过一些乏味的调试,我发现 将 var 重命名为 "msg"
<p:dataTable id="msgTable" var="msg2" value="#{msgModel.messages}">
<p:column headerText="Id">
<h:outputText value="#{msg2.messageId}" />
</p:column>
</p:dataTable>
在什么情况下 "msg" 是保留关键字? 我找不到任何有关 html、Javascript 或 JSF 的文档?
不是保留关键字。
然而,名称“msg”可识别为 <resource-bundle><var>
的值,如在许多 JSF 教程和启动应用程序的 faces-config.xml
中所见。
<resource-bundle>
...
<var>msg</var>
</resource-bundle>
您收到的错误消息也证实了这一点。当给定键找不到资源包消息时,默认情况下会返回完全相同的键,并用三个问号包围,正如您所观察到的那样:
???key???
另请参阅:
- Internationalization in JSF, when to use message-bundle and resource-bundle?
以下数据表显示“???messageId???”而不是正确的 ID:
<p:dataTable id="msgTable" var="msg" value="#{msgModel.messages}">
<p:column headerText="Id">
<h:outputText value="#{msg.messageId}" />
</p:column>
</p:dataTable>
经过一些乏味的调试,我发现 将 var 重命名为 "msg"
<p:dataTable id="msgTable" var="msg2" value="#{msgModel.messages}">
<p:column headerText="Id">
<h:outputText value="#{msg2.messageId}" />
</p:column>
</p:dataTable>
在什么情况下 "msg" 是保留关键字? 我找不到任何有关 html、Javascript 或 JSF 的文档?
不是保留关键字。
然而,名称“msg”可识别为 <resource-bundle><var>
的值,如在许多 JSF 教程和启动应用程序的 faces-config.xml
中所见。
<resource-bundle>
...
<var>msg</var>
</resource-bundle>
您收到的错误消息也证实了这一点。当给定键找不到资源包消息时,默认情况下会返回完全相同的键,并用三个问号包围,正如您所观察到的那样:
???key???
另请参阅:
- Internationalization in JSF, when to use message-bundle and resource-bundle?