使用Ajax刷新Struts2数据表
Use of Ajax to refresh Struts2 datatable
我在Struts2中创建了一个数据表,还具有通过一些操作向该表中添加记录的功能。插入记录后,我们将刷新页面以刷新表。为此,我曾尝试使用Ajax,并通过请求参数将我们插入的新值发送到Action类,在响应中,我们将刷新表。
我的Ajax函数是:
function reloadTable(){
var ajaxRequest;
try {
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer Browsers
try {
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try {
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser has no AJAX Support!");
return false;
}
}
}
var elem1 = document.getElementById('host0');
var elem2 = document.getElementById('ip0');
var elemTable = document.getElementById('hostTable');
//alert(indexSelected);
//alert(document.getElementById(elem).options[indexSelected].value);
var url = "insertTable.action";
ajaxRequest.open("POST", url, true);
ajaxRequest.onreadystatechange = function()
{
try
{
if (ajaxRequest.readyState == 4 && ajaxRequest.status == 200) {
var res = ajaxRequest.responseText;
if (res)
{
//alert("hi"+res.greeting);
document.getElementById("hostTable").innerHTML = res;
//adjustTable();
}
}
}
catch (e)
{
}
};
//alert(selectedCountry);
ajaxRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");
var hostName = elem1.value;
var ipAddress = elem2.value;
//alert("AJAX CALL"+elem1.value+elem2.value);
//ajaxRequest.send("hostName="+elem1.value+"&ipAddress="+elem2.value);
ajaxRequest.send("hostName="+hostName+"&ipAddress="+ipAddress);
//ajaxRequest.send(null);
}
我的Struts.xml中的内容是:
<action name="insertTable" method="insertNewData" class="action.LoginAction">
<result name="success">/success.jsp</result>
</action>
我的操作类中的方法:
public String insertNewData(){
populateList();
System.out.println("Hi"+getHostName()+getIpAddress());
userNameList.add(new UserType(hostName,ipAddress));
return SUCCESS;
}
现在,我希望这个Ajax调用将actionClass方法中填充的列表反映在表中。在这个方法中,我附加了通过Ajax方法中的参数发送的值。我可以在action类方法中获取新值,但在发送响应时,会显示整个页面来代替表。
谢谢,Sachin
插入记录后,我们将刷新页面以获取表已刷新。
是不是你不想为此刷新整个页面。在这种情况下,我建议您使用Struts2Jquery插件。网格展示正是您想要做的事情。有关更多示例,您可以访问Online examples,如果您想要更具体的内容,也可以请求can example。
相关文章:
- 用程序搜索JQuery数据表中的文本
- 具有rowGrouping的数据表无法隐藏列
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 将单击事件添加到数据表
- 使用带有参数的数据表sAjaxSource
- 对角度数据表中括号内的数字进行排序
- 动态构建一个数据表与scriplets
- jquery数据表的自定义ko绑定
- 预览数据表单
- 如何在数据表中设置从Ajax响应选中的复选框
- DT数据表背景颜色为黑色,但仍有悬停和选择颜色
- 数据表-隐藏/显示列
- 对损坏的子行进行排序的数据表
- 数据表排序但对行进行分组
- 数据表1.10,第列.转发器使用情况
- 如何将JSON编码的PHP数组发送到同一页面上的数据表
- jquery数据表在初始化时设置宽度
- Laravel数据表无效的JSON响应
- 数据表通过分析一列的值对其进行排序
- 使用Ajax刷新Struts2数据表