
[英]How to pass object from action class to JSP using Bean in Struts2?
[英]How to pass bean values from parent jsp to child jsp in struts2
如何在Struts2中将Bean值从父JSP传递到子JSP?
我当前的应用程序基于Struts 1.2。 这样,提交表单时,将提交整个jsp。 并且另一个(或相同的)jsp加载有bean值。
我正在尝试在当前应用程序中实现单页应用程序。 我不是通过加载/提交整个页面,而是通过ajax调用jsp。 它返回所需jsp的html,并将该html附加在主jsp中。
因此,只有1个主要的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.');
}
})
}
您可以使用FormData对象通过AJAX传递表单数据:
var formData = new FormData(form);
xmlHTTP.send(formData);
其中xmlHTTP
是您的ajax请求对象,而form
是您的表单。 这会将所有数据从表单传递到您要调用的操作。
有关此技术的详细信息,请参见此处:
https://developer.mozilla.org/zh-CN/docs/Web/Guide/Using_FormData_Objects
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标签中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.