我在页面上有几个类似的结构。每个结构由一个标题和几个复选框组成。在java代码中,我为每组数据创建一个映射并将它们传递给服务。如何将地图传递给jsp子结构?
在主jsp页面上,我获得服务并可以读取这些映射键和值。但是这样我会多次重复相同的代码。所以,我必须创建一个看起来像一个带有参数的函数,并且会在主页面中插入一些html代码。
我可以用简单的字符串参数调用包含的jsp文件,如here。
<jsp:include page="groop_checkbox_with_header.jspf">
<jsp:param name="mapName" value="investQuestionsExperience"/>
</jsp:include>
....
"${param.mapName}" - for use in the included jsp file
但我无法设置参数到地图。我可以将参数设置为地图名称,并使用包含的jsp中的地图名称从service/request/session中获取地图。但是如何获得被调用的jsp文件中的服务/请求/会话?看来,我不得不发送一些非平凡内容的参数。
但是怎么样?
我可以使用的JSP tag
代替include
。但问题仍然几乎相同。
请注意,我使用纯JSP而没有JSTL <c: >
标签,我不能使用最后一个标签。
创建自定义标签。 –
使用标签,我再次只能传递简单的字符串参数。我需要通过一张地图。或者地图的名字,但是我必须以某种方式传递服务/请求/会话。我怎样才能在那里? – Gangnus
您无法使用*参数*传递Map,但是您可以在Java代码中创建Map并将其设置为在JSP中使用的请求* Attribute *。 http://learnjava4enterprise.blogspot.co.uk/2013/01/difference-between-attribute-and.html –