使用 AngularJS 的 Struts 1 中缺少键 '{{metadata[key].displayName}}' 的消息

问题描述 投票:0回答:1

我有一个前端 JSP 可以执行此操作:

<label>{{metadata[key].displayName}}:</label> 

这可以工作并显示值

但是,该值实际上是 Struts 1 框架中定义的

ApplicationResource
的“关键”。

所以,最终,我想做这样的事情

<label><bean:message key="{{metadata[key].displayName}}"/>:</label> 

但这不起作用,我得到的错误(在日志中)是

缺少密钥“{{metadata[key].displayName}}”的消息。

这意味着所有配置都没有问题,唯一的问题是获取该配置

{{metadata[key].displayName}}
正确插入 Struts
<bean:message>
标签的“key”属性。

如何才能做到呢? 我拥有的更完整的代码在这里:

<div class="row" ng-repeat="(key, val) in item" 
ng-if="metadata.hasOwnProperty(key)">
<div>
    
    <%-- <label>{{metadata[key].displayName}}:</label> --%>
    <label><bean:message key="<%={{key}}%>"/>:</label>
</div>
</div>
angularjs json jsp struts-1 resourcebundle
1个回答
0
投票

Angular 使用已由浏览器加载的 DOM。 JSP 在 HTML 发送到浏览器之前在服务器端执行。如果您可以在此阶段翻译消息键,那么它将以结果 HTML 形式呈现,您可以在其中使用其值来填充 Angular 模型。然后将其属性绑定到视图,该视图已经应该具有翻译值。

另一方面,如果您无法将键映射到服务器端的值,您仍然可以选择获取作为参数发送到另一个操作的键的翻译值。不建议仅为了返回翻译值而向服务器发出大量 xhr 请求。但是,如果您的操作将返回 JSON 对象,那么它可以采用角度模型。

© www.soinside.com 2019 - 2024. All rights reserved.