代码之家  ›  专栏  ›  技术社区  ›  Joshua MN

创建Map并将其传递给请求范围的属性

  •  0
  • Joshua MN  · 技术社区  · 11 年前

    在我的JSP模型中,我有一个类的bean MyBean 范围内。

    class MyBean {
      ...
      public String getName() { ... }
      public String format(Map<String,String> model) { 
          /* format a template with model */ 
      }
    }
    

    我是这样使用的:

    <b>${requestScope.myBean.name}</b> - ${requestScope.myBean.format(myMap)}

    myMap 将包含一些仅在JSP页面中已知的信息,例如URL。 有没有标签/库可以用来声明和传递地图,例如。

    <lib:map var="myMap">
     <lib:mapEntry name="base_url" value="${some_url_value_in_scope}"/>
    </lib:map>
    <b>${requestScope.myBean.name}</b> - ${requestScope.myBean.format(myMap)}
    
    2 回复  |  直到 11 年前
        1
  •  1
  •   AllTooSir    11 年前

    如果你正在跑步 第2.2版 是的一部分 Servlet 3.0 然后 ${requestScope.myBean.format(myMap) 将起作用。或者创建一个 自定义EL功能 并称之为 ${someTag:format(requestScope.myBean, myMap)}

    也许有更好的方法,但你可以这样做:

    <jsp:useBean id="myMap" class="java.util.HashMap" scope="request"/>
    <c:set target="${myMap}" property="base_url" value="${some_url_value_in_scope}"/>

        2
  •  0
  •   Sascha    11 年前

    为什么像URL这样的信息只能在jsp页面本身中使用? 数据是在jsp页面中生成/创建的吗?

    在春季举办的“MyBaan”课程中? 如果是,您可以使用spring控件将数据放入类中。。。