如何从属性文件中读取错误消息,就像angularjs中的struts一样?

时间:2015-06-04 22:10:55

标签: angularjs internationalization struts

我正在考虑将错误消息存储在我的UI框架(angularjs)中的属性文件中。当休息调用失败时,根据错误代码,我可以从文件中读取消息并在UI上显示它。类似于struts如何通过messageresource属性处理它。我试图查找angularjs文档,但没有找到如何做的任何方向。关于如何在angularjs中实现此功能的任何建议?

2 个答案:

答案 0 :(得分:1)

这是在用户界面中显示错误消息的方法之一。

像这样创建一个json文件 ErrorMessages

{
"ERROR-EDIT": "Some problems by updating the item!",
"ERROR-SAVE": "Some problems by saving the changes!",
"ERROR-DELETE": "Some problems by deleting!",
"ERROR-EMAIL": "E-Mail is not valid!"
}

要从json文件获取数据,必须在控制器中为该文件创建http请求。

假设您的模块和其他角度配置有效,控制器应该是:

app.controller('mainController', ['$scope', '$http', function ($scope, $http) {
//HTTP call to get data from file with valid url    
$http.get('../Resources/ErrorMessages.json').success(function (data) {
        $scope.listMessages = data;
    });
}]);

最后,key note只显示具有键值的对象的一个​​属性(显式方式):

<body ng-controller="mainController">

    <p>{{listMessages["ERROR-EDIT"]}}</p><br /><br />
    <p>{{listMessages["ERROR-DELETE"]}}</p><br /><br />
    <p>{{listMessages["ERROR-EMAIL"]}}</p><br /><br />
    <p>{{listMessages["ERROR-SAVE"]}}</p><br /><br />

</body>

您还可以创建包含对象和键的参数的函数,以便以相同的结果显示它。

我希望这个想法会推动你前进:)

答案 1 :(得分:0)

阅读Angular中的http拦截器来处理类似的全局内容。 Angular中没有结构的概念。 Angular试图保持其核心相当简单,只包含核心内容。您可能希望使用http拦截器编写自己的模块来处理类似的事情。

您可以编写错误日志服务,并在所有想要记录错误的控制器中注入。该服务可以将您的日志保存到Mongo或任何地方