これは重複しているが、私は例として具体的な何かを見つけることができなかった場合はお詫び申し上げます。springmvc jsonの応答を使用
springmvcには次のコントローラがあります。
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* Handles requests for the application home page.
*/
@Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
/**
* Simply selects the home view to render by returning its name.
*/
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
logger.info("Welcome home! the client locale is "+ locale.toString());
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
model.addAttribute("serverTime", formattedDate);
return "main";
}
}
は、これは私が、私の質問があり、私はJSONレスポンスであることを、この応答を得ることができる方法は、このコントローラにハードコードに、すべてのJSON変換コードを持たずに、アクセス$ {SERVERTIME}があることを意味し。私はちょうど設定にいくつかのXMLを置くことができるので、レスポンスを以下のように変換することを知っているでしょうか。
{"serverTime": "12 12 2012"}
"main"はビュー(main.jsp)の名前なので、同じように動作させたいと思います。
http://code.google.com/p/google-gson/
ところであなたはAjaxのレスポンスを送信したいのではなくページを更新している場合、あなたのメソッド宣言に@ResponseBodyを追加し、:JSONはgsonと呼ばれるにJavaオブジェクトを変換するためのライブラリがあります
ああ、私はこれをしましたが、あなたは私の質問の最終行に気付くでしょう、これは私の意見が返される方法を破ります。両方を行うことは可能ですか? – david99world
ああ、ごめんなさい。 AJAXを使用できますか? ビューをメインにロードしてから、JSONデータをリクエストしてください。 – bvulaj
ええ、私のAJAXリクエストは、基本的にコントローラに要求するページを要求しますが、JSONのペイロードも返す必要があります。 JSONレスポンスのURLとhtmlの別のURLに行くことをお勧めしますか?それは少し厄介なようです。 – david99world