我的列表 <Object> 没有作为我的 ModelAndView 的对象正确传递
My List<Object> is not being passed correctly as object of my ModelAndView
在我的 Spring 控制器中我有:
List<User> Users = this.userService.UsersList();
mav = new ModelAndView("users");
mav.addObject("Users", Users);
当我遍历 Users
时,我可以看到列表中每个元素的所有属性值。
这是我的。jsp代码:
<c:forEach items="${Users}" var="usr">
${usr}
</c:forEach>
这是我的用户 class:
@Entity
@Table(name="usuario")
public class User implements Serializable {
@Id
@Column(name="id")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
@JoinColumn(name = "id_perfil")
@OneToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
private Perfil perfil;
@Column(name="nombre")
private String nombre;
@Column(name="usuario")
private String usuario;
@Column(name="contrasenia")
private String contrasenia;
@Column(name="correo")
private String correo;
@Column(name="telefono")
private String telefono;
@Column(name="imagen_perfil")
private String imagen_perfil;
@Column(name="intento_fallido")
private int intento_fallido;
@Column(name="intranet_id")
private Integer intranet_id;
@Column(name="intranet_notaria")
private Integer intranet_notaria;
@Column(name="intranet_token_codigo")
private String intranet_token_codigo;
@Column(name="intranet_token_fecha")
@Temporal(TemporalType.TIMESTAMP)
private Date intranet_token_fecha;
@Column(name="tesoreria_token_codigo")
private String tesoreria_token_codigo;
@Column(name="tesoreria_token_fecha")
@Temporal(TemporalType.TIMESTAMP)
private Date tesoreria_token_fecha;
@Column(name="activo")
private int activo;
public int getId() { return id; }
public void setId(int id) { this.id = id; }
public Perfil getPerfil() { return perfil; }
public void setPerfil(Perfil perfil) { this.perfil = perfil; }
public String getNombre() { return nombre; }
public void setNombre(String nombre) { this.nombre = nombre; }
public String getUsuario() { return usuario; }
public void setUsuario(String usuario) { this.usuario = usuario; }
public String getContrasenia() { return contrasenia; }
public void setContrasenia(String contrasenia) { this.contrasenia = contrasenia; }
public String getCorreo() { return correo; }
public void setCorreo(String correo) { this.correo = correo; }
public String getTelefono() { return telefono; }
public void setTelefono(String telefono) { this.telefono = telefono; }
public String getImagenPerfil() { return imagen_perfil; }
public void setImagenPerfil(String imagen_perfil) { this.imagen_perfil = imagen_perfil; }
public int getIntentoFallido() { return intento_fallido; }
public void setIntentoFallido(int intento_fallido) { this.intento_fallido = intento_fallido; }
public Integer getIntranetId() { return intranet_id; }
public void setIntranetId(Integer intranet_id) { this.intranet_id = intranet_id; }
public Integer getIntranetNotaria() { return intranet_notaria; }
public void setIntranetNotaria(Integer intranet_notaria) { this.intranet_notaria = intranet_notaria; }
public String getIntranetTokenCodigo() { return intranet_token_codigo; }
public void setIntranetTokenCodigo(String intranet_token_codigo) { this.intranet_token_codigo = intranet_token_codigo; }
public Date getIntranetTokenFecha() { return intranet_token_fecha; }
public void setIntranetTokenFecha(Date intranet_token_fecha) { this.intranet_token_fecha = intranet_token_fecha; }
public String getTesoreriaTokenCodigo() { return tesoreria_token_codigo; }
public void setTesoreriaTokenCodigo(String tesoreria_token_codigo) { this.tesoreria_token_codigo = tesoreria_token_codigo; }
public Date getTesoreriaTokenFecha() { return tesoreria_token_fecha; }
public void setTesoreriaTokenFecha(Date tesoreria_token_fecha) { this.tesoreria_token_fecha = tesoreria_token_fecha; }
public int getActivo() { return activo; }
public void setActivo(int activo) { this.activo = activo; }
@Override
public String toString() {
return "Id:" + id + ", " + "Perfil:" + perfil.getNombre() + ", " + "Id_Perfil:" + perfil.getId() + ", " + "Nombre:" + nombre + ", " + "Usuario:" + usuario + ", " + "Correo:" + correo + ", " + "Teléfono:" + telefono + ", " + "Image_Perfil:" + imagen_perfil + ", " + "Intranet_Id:" + intranet_id + ", " + "Intranet_Notaria:" + intranet_notaria + ", " + "Activo:" + activo;
}
}
问题是 ${usr}
只显示了我的部分属性,而不是全部!我需要在 jsp.
中显示所有属性
如果您不这样做,请尝试使用驼峰式表示法。例如,使用 ${usr.imagenPerfil}
而不是 ${usr.imagen_perfil}
。我认为它会期望使用对象吸气剂 getImagenPerfil()
.
在我的 Spring 控制器中我有:
List<User> Users = this.userService.UsersList();
mav = new ModelAndView("users");
mav.addObject("Users", Users);
当我遍历 Users
时,我可以看到列表中每个元素的所有属性值。
这是我的。jsp代码:
<c:forEach items="${Users}" var="usr">
${usr}
</c:forEach>
这是我的用户 class:
@Entity
@Table(name="usuario")
public class User implements Serializable {
@Id
@Column(name="id")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
@JoinColumn(name = "id_perfil")
@OneToOne(cascade=CascadeType.ALL, fetch = FetchType.EAGER)
private Perfil perfil;
@Column(name="nombre")
private String nombre;
@Column(name="usuario")
private String usuario;
@Column(name="contrasenia")
private String contrasenia;
@Column(name="correo")
private String correo;
@Column(name="telefono")
private String telefono;
@Column(name="imagen_perfil")
private String imagen_perfil;
@Column(name="intento_fallido")
private int intento_fallido;
@Column(name="intranet_id")
private Integer intranet_id;
@Column(name="intranet_notaria")
private Integer intranet_notaria;
@Column(name="intranet_token_codigo")
private String intranet_token_codigo;
@Column(name="intranet_token_fecha")
@Temporal(TemporalType.TIMESTAMP)
private Date intranet_token_fecha;
@Column(name="tesoreria_token_codigo")
private String tesoreria_token_codigo;
@Column(name="tesoreria_token_fecha")
@Temporal(TemporalType.TIMESTAMP)
private Date tesoreria_token_fecha;
@Column(name="activo")
private int activo;
public int getId() { return id; }
public void setId(int id) { this.id = id; }
public Perfil getPerfil() { return perfil; }
public void setPerfil(Perfil perfil) { this.perfil = perfil; }
public String getNombre() { return nombre; }
public void setNombre(String nombre) { this.nombre = nombre; }
public String getUsuario() { return usuario; }
public void setUsuario(String usuario) { this.usuario = usuario; }
public String getContrasenia() { return contrasenia; }
public void setContrasenia(String contrasenia) { this.contrasenia = contrasenia; }
public String getCorreo() { return correo; }
public void setCorreo(String correo) { this.correo = correo; }
public String getTelefono() { return telefono; }
public void setTelefono(String telefono) { this.telefono = telefono; }
public String getImagenPerfil() { return imagen_perfil; }
public void setImagenPerfil(String imagen_perfil) { this.imagen_perfil = imagen_perfil; }
public int getIntentoFallido() { return intento_fallido; }
public void setIntentoFallido(int intento_fallido) { this.intento_fallido = intento_fallido; }
public Integer getIntranetId() { return intranet_id; }
public void setIntranetId(Integer intranet_id) { this.intranet_id = intranet_id; }
public Integer getIntranetNotaria() { return intranet_notaria; }
public void setIntranetNotaria(Integer intranet_notaria) { this.intranet_notaria = intranet_notaria; }
public String getIntranetTokenCodigo() { return intranet_token_codigo; }
public void setIntranetTokenCodigo(String intranet_token_codigo) { this.intranet_token_codigo = intranet_token_codigo; }
public Date getIntranetTokenFecha() { return intranet_token_fecha; }
public void setIntranetTokenFecha(Date intranet_token_fecha) { this.intranet_token_fecha = intranet_token_fecha; }
public String getTesoreriaTokenCodigo() { return tesoreria_token_codigo; }
public void setTesoreriaTokenCodigo(String tesoreria_token_codigo) { this.tesoreria_token_codigo = tesoreria_token_codigo; }
public Date getTesoreriaTokenFecha() { return tesoreria_token_fecha; }
public void setTesoreriaTokenFecha(Date tesoreria_token_fecha) { this.tesoreria_token_fecha = tesoreria_token_fecha; }
public int getActivo() { return activo; }
public void setActivo(int activo) { this.activo = activo; }
@Override
public String toString() {
return "Id:" + id + ", " + "Perfil:" + perfil.getNombre() + ", " + "Id_Perfil:" + perfil.getId() + ", " + "Nombre:" + nombre + ", " + "Usuario:" + usuario + ", " + "Correo:" + correo + ", " + "Teléfono:" + telefono + ", " + "Image_Perfil:" + imagen_perfil + ", " + "Intranet_Id:" + intranet_id + ", " + "Intranet_Notaria:" + intranet_notaria + ", " + "Activo:" + activo;
}
}
问题是 ${usr}
只显示了我的部分属性,而不是全部!我需要在 jsp.
如果您不这样做,请尝试使用驼峰式表示法。例如,使用 ${usr.imagenPerfil}
而不是 ${usr.imagen_perfil}
。我认为它会期望使用对象吸气剂 getImagenPerfil()
.