在
中,我想得到id="name_1",在服务器端user对象的属性id=1,上面错误如何在${}中使用${},例:${user.name_${user.id}},user对象的属性name_1,name_2,name_3,name_4,我在jsp页面中遍历取值,我写的${user.name_${user.id}},id="name_${user.id}"都是错误的,希望高手帮我改正,万分感谢
在
中,我想得到id="name_1",在服务器端user对象的属性id=1,上面错误1.
看看user是否加到了request里面
User u =new User();
u.setId("1");
request.setAttribute("user",u);
并且,User类里面必须提供public String getId(){return this.id;}
2.el嵌套的写法是不行的,但是下面这个方法可以实现你说的需求:
1>先把name_${user.id}的值存到变量myname中
2>再通过id="${user[myname]}"的方式取到name_1的值
代码如下,可以参考一下(为了方便,用的HashMap,你单独定义一个User类也可以):
main.jsp
[code="html"]<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
MyServlet.java
[code="java"]public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,IOException{
System.out.println(getServletName() + "doGet");
Map m = new HashMap();
m.put("name_1","nameone");
m.put("id","1");
req.setAttribute("user",m);
req.getRequestDispatcher("/WEB-INF/jsp/main.jsp").forward(req,resp);
}[/code]