繁体   English   中英

如何在Struts2中将Bean值从父JSP传递给子JSP

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM