Java 如何使用struts2使用ajax进行编辑
我想按照以下逻辑编辑数据库中的某些元素: 我从下拉列表autocomplete中选择了一个项目,其他字段根据已选择的字段直接从数据库中填充,以便编辑数据 如何在JSP页面中使用Ajax来进行这种处理Java 如何使用struts2使用ajax进行编辑,java,jquery,ajax,jsp,struts2,Java,Jquery,Ajax,Jsp,Struts2,我想按照以下逻辑编辑数据库中的某些元素: 我从下拉列表autocomplete中选择了一个项目,其他字段根据已选择的字段直接从数据库中填充,以便编辑数据 如何在JSP页面中使用Ajax来进行这种处理 $(document).ready(function() { $('#datepicker').datepicker(); $('#field1').change(function() { //code ajax wich select the row from da
$(document).ready(function() {
$('#datepicker').datepicker();
$('#field1').change(function()
{
//code ajax wich select the row from database and return the values on the same form
}
);
});
JSP代码:
编辑2:
行动:
struts.xml:
若要传递选中的值,请使用简单的ajax请求
$.ajax(
{
type: 'POST',
url: '<s:url action="action1"/>',
data: { field1 : selectedValue},
//async: false ,
success: function(data){
alert(data);
}
});
在action类中,使用getter和setter创建一个名为field1的字段。然后您可以选择返回结果类型。如果使用json结果,则此字段将被序列化并添加到成功处理程序数据中获得的json对象中 当您向服务器调用ajax请求时,它应使用可用于修改页面DOM的数据进行响应。我如何将参数从ajax传递到action,然后从action传递到ajax?您希望传递哪些参数?我希望传递选定值,我编辑了文章,请提供帮助!!您是如何将操作映射到struts.xml中的,还是按照约定映射的?我如何将datahashmap从操作传递到json?返回json结果。您的数据不是json类型,而是javascript。我如何将此选定值传递到操作,然后将其他一些值返回到jsp?请参阅答案。
$(document).ready(function()
{
$('#field1').change(function()
{
var selectedValue = $('#field1 option:selected').val();
if ($.trim(selectedValue).length > 0)
{
$.ajax(
{
type: 'POST',
url: 'action/action1',
data: { field1 : selectedValue},
dataType: 'json',
async: false ,
contentType: 'application/json; charset=utf-8',
success: function(){window.alert(selectedValue);}
});
}
}
);
});
public String query()
{
if( !field1.equals("") || field1 != null)
{
Service = new ServiceImpl();
v = new Vehicule();
v= Service.getVehiculeByImmat(field1);
map.put(field2.toString(), v.getfield2().toString());
map.put(date.toString(), v.getdate().toString());
}
return "success";
}
<action name="query" class="action.GestionVehicules" method="query">
<result name="success" type="json">map</result>
</action>
$(document).ready(function()
{
$('#field1').change(function()
{
var selectedValue = $('#field1').val();
if ($.trim(selectedValue).length > 0)
{
$.ajax(
{
type: 'POST',
url: '<s:url action="query"/>',
data: { field1: selectedValue},
dataType: 'json',
success: function(){alert(data);}
});
}
}
);
});
$(document).ready(function()
{
$('#field1').change(function()
{
var selectedValue = $('#field1').val();
if ($.trim(selectedValue).length > 0)
{
alert(selectedValue);
$.ajax(
{
type: 'POST',
url : "<s:url action='query'/>",
dataType : 'json',
data: { field1: selectedValue},
success: function(result){
// alert(result);
if (result.length > 0) {
//code to put hashmap values into textfield
//put map.get("key1") into textfield1 ....
});
}
},
});
}
}
);
});
$.each(result, function(key,value)
{ $("#"+key).val(value); // how can it works with dropdown list ??
} );
$.ajax(
{
type: 'POST',
url: '<s:url action="action1"/>',
data: { field1 : selectedValue},
//async: false ,
success: function(data){
alert(data);
}
});