【发布时间】:2017-05-13 20:36:49
【问题描述】:
在尝试通过传递 key 在 javascript 函数中迭代地图时,如下所示:
<html> <head>
<script type="text/javascript">
function demo(tmp){
<c:forEach var="user" items="${usermap}">
<c:out value="${usermap.get(\"+'tmp'+\").name}"></c:out>
</c:forEach>
}
</script>
<title>Insert title here</title> </head>
<body>
<h1 onclick="demo('user1')">User VO</h1>
<c:forEach var="user" items="${usermap}">
Key: ${user.key} - Name: ${user.value.name} - Id: ${user.value.userid}<br/><br/>
</c:forEach>
</body> </html>
我得到空白值。但是当我硬编码 key***user1*** 的值时,它可以工作。
Servlet 代码 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO 自动生成的方法存根
//System.out.println("in servlet doGet:"+ ++count);
UserVO user1= new UserVO("Y","701");
UserVO user2= new UserVO("D","834");
hmap.put("user1", user1);
hmap.put("user2", user2);
//hmap.values()
request.setAttribute("usermap", hmap);
//response.sendRedirect("User.jsp");
RequestDispatcher view = request.getRequestDispatcher("User.jsp");
view.forward(request, response);
//response.getWriter().append("Served at: ").append(request.getContextPath());
}
有人可以帮我吗?
【问题讨论】:
-
这一点都不清楚。你说的“模型”是什么?为什么这个问题被标记为el?
-
它是一个模型属性..我们已经将 servlet 中的 serviceProfile 属性设置为
-
model.addAttribute("serviceProfile", serviceProfile);
-
我认为你应该弄清楚你正在使用什么语言(我认为是 Java)以及这些 sn-ps 的上下文是什么。那些是在服务器端生成的吗?你打算如何使用
Cfs_id? -
我正在使用java。首先,用户选择像 Airtel-01 这样的 serviceId,它作为参数传递给虚拟方法。我正在检查 Map 中的相同 serviceId 并将其进一步发送到 javascript 中的另一个函数。我面临的问题是将 serviceId 传递给 get 方法。 var Cfs_id="${serviceProfile.serviceIdMap.get(serviceId).Id}";传递 serviceId 时语法有问题。希望现在很清楚。
标签: javascript el