1

構築中の Web ページにクライアント側のログを実装しようとしていました。これは、サーバー側から重要な情報が返されない (ページ上の情報が複数のサービスから集約されている) 場合に発生する、クライアント側の特定のエラー イベントに対するものです。

私のクライアント側のJavascriptには、次のものがあります。

$.ajax({
  url: 'MyURL',
  type: 'POST',
  data: 'MyErrorMessage',
});

そして、サーバー側のコントローラーでは、次のものが必要です。

@RequestMapping(value = "MyURL", method = RequestMethod.POST)
protected ModelAndView logErrorMessages(String errorMessage)
{
     /* Log the error message using the server side logging framework */
}

さて、コントローラーのエラーメッセージ文字列にアクセスする方法が正確にはわかりません。上記のアプローチを試してみましたが、文字列は「null」でした。私が検討したもう 1 つの方法は、ここで@RequestParam定義されているように、エラー メッセージ文字列を としてリクエスト URL に挿入することでした。しかし、メッセージは実際には URL パラメータの一部であってはならないと感じているので、私はそれを行うことに少しきしみがあります。ここで非常に明白な何かが欠けていると確信しています(「モデル」の一部としてエラーメッセージオブジェクトを作成するなど)が、私の問題は、私がMVCおよびWeb開発の世界に慣れていないことですモデル/ビューコードでは、「コントローラー」コードのみ。私を正しい軌道に乗せるヒントは大歓迎です。

4

1 に答える 1

0

@ModelAttributeアノテーションを使用します。

クライアント側

データ: "error='システムエラー'"..。

サーバ側

logErrorMessage(@ModelAttribute(name = "error")StringerrorMessage..。

于 2013-02-21T20:33:40.533 に答える