如何将bean值从父jsp传递到struts2中的子jsp?
我目前的应用程序是基于Struts 1.2构建的。 在此,提交表单时,将提交整个jsp。另一个(或相同的)jsp加载了bean值。
我正在尝试在我当前的应用程序中实现单页面应用程序。我没有加载/提交整个页面,而是通过ajax调用jsp。它返回所需jsp的html,html附加在主jsp中。
因此只有一个主jsp通过struts动作重定向。
我在主jsp中调用bean值。
我的要求是当用户点击任何控件输入时,如何将bean值(数据)传递给通过ajax加载到主jsp中的新jsp。
如何将bean值(数据)传递给新的jsp?
我是struts2的新手。任何帮助表示赞赏。感谢。
编辑:
请找到通过ajax附加html的代码:
附加html的div:
JSP:
<div class="dynamic-loaded-content">
</div>
和加载在ajax上的HTML名称:index-calender.html 此名称通过以下方法传递:
JS:
function dynamic_file_linker(path) { /* loader display */
$('.loading-bg').show();
$('.loading-img').show().offset({
top: $(window).height() / 2,
left: $(window).width() / 2
});
$('.tool-tip').hide();
$.ajax({
url: path,
type: 'GET',
dataType: "text",
success: function(result) {
$('.dynamic-loaded-content').empty().append(result);
$('.loading-bg').fadeOut();
page_align();
},
error: function() {
alert('Sorry! The page cannot be loaded.');
}
})
}
答案 0 :(得分:0)
您可以使用FormData对象通过AJAX传递表单数据:
var formData = new FormData(form);
xmlHTTP.send(formData);
xmlHTTP
是您的ajax请求对象,form
是您的表单。这会将表单中的所有数据传递给您正在调用的操作。
请参阅此处了解此技术的详细信息:
https://developer.mozilla.org/en-US/docs/Web/Guide/Using_FormData_Objects
答案 1 :(得分:0)
Ajax功能
$.ajax({
url: path?form_data1='+ $("#data1").val()+'&form_data2='+$("#data2").val()+',
type: 'GET',
success: function(result) {
//your stuff
},
error: function() {
alert('Sorry! The page cannot be loaded.');
}
});
struts.xml中
<action name="path" class="controller.UrlActionClass">
<result name="success">result.jsp</result>
</action>
UrlActionClass.class
private String form_data1;
private String form_data2;
//getter and setter method
ajax成功页面...... 将result.jsp页面放到div标签上。