【问题标题】:How to pass a map into jsp substructure?如何将地图传递到jsp子结构中?
【发布时间】:2018-02-02 08:01:31
【问题描述】:

我在页面上有几个类似的结构。每个结构都包含一个标题和几个复选框。在 java 代码中,我为每组数据创建一个映射并将它们传递给服务。

在主 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 中的地图名称从服务/请求/会话中获取地图。但是如何获取被调用的jsp文件中的service/request/session呢?看来,我必须发送一个包含一些重要内容的参数。

但是怎么做呢?

我可以使用 jsp tag 而不是 include。但问题实际上仍然相同。

请注意,我使用的是没有 JSTL &lt;c: &gt; 标记的纯 JSP,我不能使用最后一个。

【问题讨论】:

  • 创建自定义标签。
  • 使用标签,我再次只能传递简单的字符串参数。我需要通过一张地图。或者地图的名称,但是我必须以某种方式传递服务/请求/会话。我怎样才能得到它?
  • 您不能使用 Parameter 传递 Map,但是您可以在 Java 代码中创建 Map 并将其设置为请求 Attribute 以用于JSP。 learnjava4enterprise.blogspot.co.uk/2013/01/…
  • 我认为,您对我的另一个问题的帮助将使我更快地获得工作结果,谢谢。

标签: java jsp dictionary tags include


【解决方案1】:

嗯,在您包含的 JSP 中,request 对象与调用 JSP 的对象相同。您可以随时通过pageContext.getRequest() 访问它。

session也是一样(可以通过PageContext.getSession()或者超变量session访问),不过这个问题建议你使用request。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 2013-12-05
    • 2011-07-05
    • 1970-01-01
    • 2014-07-19
    相关资源
    最近更新 更多