You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring MVC中ModelAndView传List<User>到JSP仅显示部分属性

问题本质
  • EL表达式${usr}输出对象时,会自动调用对象的toString()方法完成字符串转换,不会自动遍历输出类的所有属性。
  • 你当前的User类重写的toString()方法仅手动拼接了部分字段,缺失了contrasenia、intento_fallido、intranet_token_codigo、intranet_token_fecha、tesoreria_token_codigo、tesoreria_token_fecha等字段,这就是页面上只能看到部分属性的直接原因。
解决方案

方案1:补全toString()方法

把所有遗漏的字段补充到toString()的拼接逻辑中,修改后的示例如下:

@Override
public String toString() {
    return "Id:" + id + 
           ", Perfil:" + perfil.getNombre() + 
           ", Id_Perfil:" + perfil.getId() + 
           ", Nombre:" + nombre + 
           ", Usuario:" + usuario + 
           ", Contrasenia:" + contrasenia +
           ", Correo:" + correo + 
           ", Teléfono:" + telefono + 
           ", Image_Perfil:" + imagen_perfil + 
           ", Intento_Fallido:" + intento_fallido +
           ", Intranet_Id:" + intranet_id + 
           ", Intranet_Notaria:" + intranet_notaria + 
           ", Intranet_Token_Codigo:" + intranet_token_codigo +
           ", Intranet_Token_Fecha:" + intranet_token_fecha +
           ", Tesoreria_Token_Codigo:" + tesoreria_token_codigo +
           ", Tesoreria_Token_Fecha:" + tesoreria_token_fecha +
           ", Activo:" + activo;
}

修改完成后,原有JSP代码不需要调整,输出内容就会包含所有字段。

方案2:JSP页面单独访问字段值(更推荐)

不直接输出整个User对象,通过EL表达式逐个调用对应getter方法取值展示,完全不受toString()方法逻辑的影响,示例JSP代码:

<c:forEach items="${Users}" var="usr">
  用户ID:${usr.id} <br>
  所属角色:${usr.perfil.nombre} <br>
  姓名:${usr.nombre} <br>
  登录账号:${usr.usuario} <br>
  登录密码:${usr.contrasenia} <br>
  邮箱:${usr.correo} <br>
  联系电话:${usr.telefono} <br>
  头像路径:${usr.imagenPerfil} <br>
  连续登录失败次数:${usr.intentoFallido} <br>
  内网关联ID:${usr.intranetId} <br>
  内网所属公证处:${usr.intranetNotaria} <br>
  内网校验Token:${usr.intranetTokenCodigo} <br>
  内网Token生成时间:${usr.intranetTokenFecha} <br>
  财务系统校验Token:${usr.tesoreriaTokenCodigo} <br>
  财务系统Token生成时间:${usr.tesoreriaTokenFecha} <br>
  账号状态:${usr.activo} <br>
  <hr>
</c:forEach>

注意:User类中包含账号密码这类敏感字段,页面直接明文输出存在信息安全风险,实际业务场景中建议对密码字段做脱敏处理,不要在前端展示明文。


内容的提问来源于stack exchange,提问作者Blue Tomato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.25 03:45:04