【问题标题】:How to get value from arraylist to be displayed on jsp using jstl如何使用jstl从arraylist获取值以显示在jsp上
【发布时间】:2012-05-20 17:46:39
【问题描述】:

我是新手,请帮助解决这个问题,这里我需要显示数组列表中的数据,以便使用 jstl 在 jsp 中显示。 我创建了一个 utill 类,它从数据库中获取数据并在 bean 中设置值 我将该 bean 添加到 arraylist 中,例如

arl.add(devTechBean);

并将数组列表返回给modelandview mylist方法,在该方法中它将数组列表传递给jsp使用

ModelAndView mnv = 
new ModelAndView("swl_mySoftwareList","mySoftwareList",mySoftwareList);

在 jsp 中我访问数组列表,如

${mySoftwareList.assetNumber}

assetnumber 是我从 bean 获得的值)。 我的问题是如何使用jstl访问jsp中的arraylist,我需要知道在spring中映射modelandview mylist方法的位置,因为在jsp中没有调用该方法。请帮我解决这个问题。

【问题讨论】:

    标签: jsp spring-mvc jstl


    【解决方案1】:

    mySoftwareList 是一个ArrayList。所以如果你写${mySoftwareList.assetNumber},你要求容器在ArrayList类型的对象上调用方法getAssetNumber()。 ArrayList 没有这样的方法。

    如果要对列表的每个元素调用此方法,则遍历列表:

    <c:forEach var="element" items="${mySoftwareList}>
        ${element.assetNumber}<br/>
    </c:forEach>
    

    如果你只有一个实例,那么就不要将它存储在列表中,而是直接将其传递给视图:

    new ModelAndView("swl_mySoftwareList","devTechBean", devTechBean);
    
    ${devTechBean.assetNumber}
    

    【讨论】:

    • Thnkx @JBNizet,是的,我已经迭代了这个值,但是我怎么知道在 jsp(Mysofwarelist.jsp) 中调用了方法 modelandview mylist() ,其中包含数组列表中的所有数据(这个jsp(Mysofwarelist.jsp)是在点击其他jsp(Myhome.jsp)中的链接时加载的。
    • 我不明白你的意思。
    • 是的,我已经在 jsp 中迭代了 arraylist,但我想知道在哪里描述方法 modelandview mylist() 将在单击其他 jsp 中的 MySoftware 选项时被调用,以便当它导航到 ( Mysofwarelist.jsp)数组列表中的值将被填充。
    • 您不能在 JSTL 中使用只读表达式调用函数,您可以使用延迟表达式来调用函数,但根本不建议这样做。您需要使用不同的控制器处理该点击事件。
    猜你喜欢
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 2011-09-19
    • 2014-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多