jstl path变量不能与外键一起使用

0pizxfdo  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(225)

这是我的.jsp表单:

<form:form class="form-material validate-form" modelAttribute="Usuario" action="${pageContext.request.contextPath}/FormActionMyProfile" method="POST" id="userForm">
  <form:select path="perfil.id" class="form-control input100" id="usuario_id_perfil" name="usuario_id_perfil">
    <form:option value=""> Seleccione un perfil...</form:option>
    <c:forEach items="${ListadoPerfiles}" var="Perfil">
      <form:option value="${Perfil.id}" selected="${Perfil.id == Usuario.perfil.id ? 'selected' : ''}"> ${Perfil.nombre}</form:option>
    </c:forEach>
  </form:select>
</form:form>

这是我的user.class:

@Entity
@Table(name="usuario")
public class Usuario implements Serializable

...

@JoinColumn(name = "id_perfil")
@OneToOne(fetch = FetchType.EAGER)
private Perfil perfil;

...

public Perfil getPerfil() { return perfil; }
public void setPerfil(Perfil perfil) { this.perfil = perfil; }

这是我的个人资料。班级:

package Models;

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="perfil")
public class Perfil implements Serializable {

    @Id
    @Column(name="id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private int id;
    @Column(name="nombre")
    private String nombre;
    @Column(name="descripcion")
    private String descripcion;
    @Column(name="activo")
    private int activo;

    public int getId() { return id; }
    public void setId(int id) { this.id = id; }

    public String getNombre() { return nombre; }
    public void setNombre(String nombre) { this.nombre = nombre; }

    public String getDescripcion() { return descripcion; }
    public void setDescripcion(String descripcion) { this.descripcion = descripcion; }

    public int getActivo() { return activo; }
    public void setActivo(int activo) { this.activo = activo; }

    @Override
    public String toString() {
        return "Id=" + id + ", " + "Nombre:" + nombre + ", " + "Descripción:" + descripcion + ", " + "Activo:" + activo;
    }

}

我的apachetomcat输出日志为空。
问题是.jsp中的select是外键,当我重新加载.jsp时,它是完全空白的。
当我使用 path="perfil.nombre" 行得通,但我需要 path="perfil.id" 作为int外键。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题