Giả sử rằng bạn có 2 div bên trong tệp html của mình.
<div id="div1">some text</div>
<div id="div2">some other text</div>
Bản thân chương trình java không thể cập nhật nội dung của tệp html vì html có liên quan đến máy khách, trong khi java liên quan đến phần sau.
Tuy nhiên, bạn có thể giao tiếp giữa máy chủ (back-end) và máy khách.
Những gì chúng ta đang nói đến là AJAX, mà bạn đạt được bằng cách sử dụng JavaScript, tôi khuyên bạn nên sử dụng jQuery, một thư viện JavaScript phổ biến.
Giả sử bạn muốn làm mới trang mỗi khoảng thời gian không đổi, sau đó bạn có thể sử dụng hàm khoảng thời gian để lặp lại hành động tương tự mỗi x lần.
setInterval(function()
{
alert("hi");
}, 30000);
Bạn cũng có thể làm như thế này:
setTimeout(foo, 30000);
Whereea foo là một hàm.
Thay vì cảnh báo ("hi"), bạn có thể thực hiện yêu cầu AJAX, yêu cầu này sẽ gửi yêu cầu đến máy chủ và nhận một số thông tin (ví dụ: văn bản mới) mà bạn có thể sử dụng để tải vào div.
Một AJAX cổ điển trông như thế này:
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)
{
}
});
Trong đó phần phụ trợ có thể nhận dữ liệu POST'ed và có thể trả về một đối tượng dữ liệu thông tin, ví dụ: (và rất thích hợp) JSON, có rất nhiều hướng dẫn về cách làm như vậy, GSON từ Google là thứ mà tôi được sử dụng một thời gian trước, bạn có thể xem xét nó.
Tôi không chuyên nghiệp với việc nhận Java POST và trả về JSON như vậy nên tôi sẽ không cung cấp cho bạn một ví dụ về điều đó nhưng tôi hy vọng đây là một khởi đầu tốt.