สมมติว่าคุณมี 2 div ภายในไฟล์ html ของคุณ
<div id="div1">some text</div>
<div id="div2">some other text</div>
โปรแกรม java เองไม่สามารถอัปเดตเนื้อหาของไฟล์ html ได้เนื่องจาก html เกี่ยวข้องกับไคลเอนต์ในขณะที่ java เกี่ยวข้องกับส่วนหลัง
อย่างไรก็ตามคุณสามารถสื่อสารระหว่างเซิร์ฟเวอร์ (ส่วนหลัง) และไคลเอนต์ได้
สิ่งที่เรากำลังพูดถึงคือ AJAX ซึ่งคุณทำได้โดยใช้ JavaScript ฉันขอแนะนำให้ใช้ jQuery ซึ่งเป็นไลบรารี JavaScript ทั่วไป
สมมติว่าคุณต้องการรีเฟรชหน้าทุกช่วงเวลาคงที่จากนั้นคุณสามารถใช้ฟังก์ชันช่วงเวลาเพื่อทำซ้ำการกระทำเดียวกันทุกครั้ง x
setInterval(function()
{
alert("hi");
}, 30000);
คุณสามารถทำได้เช่นนี้:
setTimeout(foo, 30000);
Whereea foo คือฟังก์ชั่น
แทนการแจ้งเตือน ("hi") คุณสามารถดำเนินการตามคำขอ AJAX ซึ่งส่งคำขอไปยังเซิร์ฟเวอร์และรับข้อมูลบางอย่าง (เช่นข้อความใหม่) ซึ่งคุณสามารถใช้เพื่อโหลดลงใน div
AJAX แบบคลาสสิกมีลักษณะดังนี้:
var fetch = true;
var url = 'someurl.java';
$.ajax(
{
type : 'post',
url : url,
dataType : 'json',
data :
{
'fetch' : fetch
},
success : function(data)
{
var res1, res2;
for(var i = 0; i < data.length; i++)
{
res1 = data[i].res1;
res2 = data[i].res2;
$('#div1').html(res1);
}
},
complete : function(data)
{
}
});
ในขณะที่แบ็กเอนด์สามารถรับข้อมูล POST'ed และสามารถส่งคืนวัตถุข้อมูลตัวอย่างเช่น JSON (และเป็นที่ต้องการมาก) มีแบบฝึกหัดมากมายพร้อมวิธีการทำ GSON จาก Google เป็นสิ่งที่ฉัน ใช้ไปสักพักคุณลองดู
ฉันไม่ใช่มืออาชีพกับการรับ Java POST และการส่งคืน JSON ของประเภทนั้นดังนั้นฉันจะไม่ยกตัวอย่างให้คุณ แต่ฉันหวังว่านี่จะเป็นการเริ่มต้นที่ดี