【发布时间】:2014-07-19 01:12:42
【问题描述】:
struts2中如何将bean值从父jsp传递给子jsp?
我当前的应用程序是基于 Struts 1.2 构建的。 在这种情况下,当提交表单时,会提交整个jsp。另一个(或相同的)jsp 加载了 bean 值。
我正在尝试在我当前的应用程序中实现一个单页应用程序。我没有加载/提交整个页面,而是通过 ajax 调用 jsp。它返回所需jsp的html,并将html附加在主jsp中。
所以只有 1 个通过 struts 动作重定向的主 jsp。
我在主 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.');
}
})
}
【问题讨论】:
-
AJAX 调用必须指向 Action,而不是 JSP。然后这些动作将返回 JSP。你能告诉我们你到目前为止做了什么吗? BTW Struts2 绝对能够达到这个结果,但考虑到它可能不是 SPA 的最佳选择:有些框架正是为此而生的……因此更面向 SPA。我会看看 AngularJS,以防万一,因为您现在开始研究一个新框架并且有“自定义”要求