jsp将对象传递给include

时间:2011-12-06 07:44:39

标签: java jsp spring-mvc

目前我的网页内容很少,需要经常刷新。

例如: jsp内容是

  Chapter 1 :

  section abc:

  section def:

  section ghi: 

假设我有一个类章节,其中的部分是参数

 class Chapter{
     Section abc;
     Section def;
     Section ghi;
 }

我正在使用spring mvc,我正在添加以下模型

model.addAttribute("chapter", chapter);
model.addAttribute("abc", chapter.getAbc());
model.addAttribute("def", chapter.getDef());
model.addAttribute("ghi", chapter.getGhi());

在最初调用主页面时,我可以使用jsp:includes加载各个部分,同时单独更新它们,我将该特定模型添加到该特定jsp页面并使用ajax更新它。 这很好用。

但是

问题是, 如何更改设计,以便我可以用

来管理整个设计
model.addAttribute("chapter", chapter);

这样我就可以使用chapter对象获取abc,def,ghi值而不是显式传递它们。

问题是我无法将各个对象传递给章节对象中包含的jsps,如...

<jsp:include page="abc.jsp" >
     <jsp:param name="abc" value="${ chapter.abc}"/>
</jsp:include>

这是不可能的。因为我只能传递字符串

小问题,长描述..希望我说明我的意思。

1 个答案:

答案 0 :(得分:3)

您只能将字符串作为请求参数传递,但您可以将任何类型的对象设置为请求属性。请求范围(非页面范围)bean也应该有效。