0

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

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)}
4

2 回答 2

1

如果您正在运行EL 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}"/>

于 2013-04-15T10:51:03.233 回答
0

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

在spring处理的“MyBaan”类中?如果是,您可以使用 spring-controls 将数据放入类中......

于 2013-04-15T10:51:33.110 回答