gpt4 book ai didi

java - 使用 jSTL 访问类属性

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:35 26 4
gpt4 key购买 nike

在我的 spring 项目中,我的 View 从 Controller 接收到一个 Map 对象,如下所示:

Map<String, List<?>>

我以这种方式在我的 jsp 代码中访问:

                <c:forEach var="field" items="${values[item]}">
<c:out value="${field}"/> <br/>
</c:forEach>

考虑到 指示的类? 这是一个常规的 POJO 类,我如何在我的 jsp 中访问该类的属性?换句话说,我应该使用什么正确的指令来替换:

                    <c:out value="${field}"/> <br/>

因为有了这个,当我在浏览器中打开页面时,我得到了类似的东西:

com.spring.loja.model.categoria.persistence.model.Categoria@41c0e228

更新

我尝试使用这个,按照本主题中发布的答案:

<c:out value="${field.name}"/>

但我想知道是否有办法改用这种方法:

@Override
protected String getArgument(int ordem) {
switch(ordem) {
case 0: return "Id";
case 1: return "Login";
case 2: return "Senha";
case 3: return "Nome";
case 4: return "Sobrenome";
case 5: return "E-Mail";
case 6: return "Autorizacao";
default: return null;
}
}

而且这种方式可以避免使用getter方法的名称(这是一个通用的jsp页面,被多个 View 使用,不知道会用到哪个方法)

最佳答案

例如,如果这个 POJO 有 getName() setter/getter ,然后你可以访问name字段使用:

<c:out value="${field.name}"/>

如果你使用 Servlet +3.0版本,那么您可以从 EL 调用方法。然后你可以尝试这样的事情:

<c:out value="${field[field.getArgument(2)]}"/>

关于java - 使用 jSTL 访问类属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24654542/

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