【问题标题】:How to pass an Object to JSP in jsp:include or c:set如何在 jsp:include 或 c:set 中将对象传递给 JSP
【发布时间】:2018-01-03 01:44:29
【问题描述】:

当我尝试通过 jsp:param 发送 Object 时,它是作为 String 发送的。 例如:

<jsp:include page="Page1.jsp">
    <jsp:param name="key" value="${Object1}"/>
</jsp:include>

<jsp:include page="Page1.jsp">
    <jsp:param name="key" value="${Object2}"/>
</jsp:include>

所以我尝试使用,

<c:set var="param" value="${Object1}" scope="request" />
<jsp:include page="Page1.jsp"/>

<c:set var="param" value="${Object2}" scope="request" />
<jsp:include page="Page1.jsp"/>

这是 Page1.jsp:

<c:out value="${param.data}"/>
<jsp:include page="Page2.jsp"/>
<c:out value="${param.value}"/>

O/P

object1data
object1value
object2data
object1value

第一次调用其他jsp页面前的值是唯一的。但是下一个值会被第一个对象的内容覆盖。为什么会这样?

【问题讨论】:

    标签: html jsp jstl jsp-tags


    【解决方案1】:

    在Page2.jsp 中的Actullay,同样的变量被再次声明为具有请求范围的Object1 值。 所以这些值被覆盖了。

    Page2.jsp:

    <c:set var="param" value="${Object1}" scope="request" />
    {page2 functionality}
    

    由于再次设置了相同的键参数,因此在调用文件后,所有位置的值都被覆盖。

    【讨论】:

      猜你喜欢
      • 2013-05-13
      • 1970-01-01
      • 2010-09-09
      • 2015-06-04
      • 2012-03-29
      • 2011-12-09
      • 2013-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多