gpt4 book ai didi

java - JSP 将数组作为参数传递,将方括号添加到第一个和最后一个元素

转载 作者:行者123 更新时间:2023-11-30 03:56:45 28 4
gpt4 key购买 nike

我正在开发一个spring mvc3应用程序并遇到以下情况:

  1. 我通过 ModelAndView 对象返回 2 项:工作=数组列表Departments = ArrayList 放入 Page1.jsp

  2. 当我打印 Page1 中的对象时,我得到:

对于所有这些:

${jobs} -> [ADMIN, CLERK, DEPARTMENT_MANANGER, DIVISION_MANAGER]

我把它们单独地弄好,每一个都在一条线上

<c:forEach items="${jobs}" var="job">
<h6>${job}</h6>
</c:forEach>

问题是当我包含 page2.jsp 并将这些数组作为参数发送时。

<jsp:include page="page2.jsp" >
<jsp:param name="jobs" value="${jobs}" />
<jsp:param name="departments" value="${departments}" />
</jsp:include>

并尝试再次打印这些元素,我在第一个和最后一个元素中得到括号。 (我已经使用 param.jobs 正确访问了数组..)

对于他们所有人:[ADMIN、CLERK、DEPARTMENT_MANANGER、DIVISION_MANAGER]每一个单独:

[ADMIN
CLERK
DEPARTMENT_MANANGER
DIVISION_MANAGER]

有谁知道为什么会发生这种情况以及如何避免这种情况?

稍后编辑:

此外,当我遍历应该是 page2.jsp 中对象的部门并尝试打印它们的名称($dept.name,在 page1.jsp 中工作正常)时,我得到:

javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String

这清楚地表明它们是作为字符串传递的。

如何将它们作为 page1.jsp 中的对象?

谢谢:)

<小时/>

我找到了某种解决方法..

<c:set var="allJobs" value="${jobs}" scope="request" />

然后我可以通过 ${allJobs} 访问它们

不确定这是否是最正统的方法..

最佳答案

您只能传递字符串作为请求参数,但您可以将任何类型的对象设置为请求属性。请求范围(不是页面范围)bean 也应该可以工作。

关于java - JSP 将数组作为参数传递,将方括号添加到第一个和最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22987226/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com