如何将bean值从父jsp传递到struts2中的子jsp

时间:2014-05-29 13:45:45

标签: java jsp struts2

如何将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.');
    }
})
}

2 个答案:

答案 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标签上。