/GetInfoはどのように配信されますか?それは単なる標準的なHTMLページですか?もしそうなら、setInterval()
を持つJavascript要素をコーディングしてXMLHttpRequest
を/gJson
エンドポイントにすることができます。ブラウザーからサーバーへの通信に使用するライブラリーに応じて、他にもさまざまな方法があります。
*更新* サンプル・プロジェクト:リフレッシュすることができますhttps://github.com/ShawnTuatara/stackoverflow-38890600
主な特徴は、問題の概説として、コントローラは簡単ですsrc/main/resources/static/GetInfo.html
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>GetInfo</title>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
</head>
<body>
</body>
<script type="text/javascript">
$(function() {
window.setInterval(function() {
$.ajax({
url : "/gJson"
}).done(function(data, status, jqXHR) {
$("body").text(jqXHR.responseText);
});
}, 10000);
});
</script>
</html>
でHTMLページです。
@EnableAutoConfiguration
@RestController
public class GreetingController {
@GetMapping(value = "/gJson", produces = MediaType.APPLICATION_JSON_VALUE)
public MyPojo gJson() {
return new MyPojo("Windows 10", System.currentTimeMillis());
}
}
最後に、MyPojoは単純な2つのフィールドクラスです。
public class MyPojo {
private String ad;
private long timestamp;
public MyPojo(String ad, long timestamp) {
this.ad = ad;
this.timestamp = timestamp;
}
public String getAd() {
return ad;
}
public void setAd(String ad) {
this.ad = ad;
}
public long getTimestamp() {
return timestamp;
}
public void setTimestamp(long timestamp) {
this.timestamp = timestamp;
}
}
ウェブページで10秒ごとにリフレッシュする時間を表示できるように、タイムスタンプが含まれています。
私はgetInfo.htmlを持っています。あなたはajax setIntervalを正しく呼び出すことを意味しますか? –
window.setInterval()...答えには、Javascriptの例を持つページへのリンクがあります。 –
最初に、私は悪い英語のために謝罪します。私はsetInverval()を知っていますが、春のブートリクエストは1時間だけ働いています..そして、私はあなたが 'localhost:8080/gJson' Request Mappingを使用したSpringブートから10秒。 –