NCS123456 2012-11-22 23:41 采纳率: 0%
浏览 609
已采纳

EL表达式 ${}中能有${}吗

中,我想得到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}"都是错误的,希望高手帮我改正,万分感谢
  • 写回答

7条回答 默认 最新

  • blogzhoubo 2012-11-23 12:31
    关注

    1.


    这么写是没有问题的,应该是user对象的问题
    可能的原因:

    看看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" %>



    [/code]

    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]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么