簡體   English   中英

在Spring和Hibernate中,如何將復合鍵從控制器傳遞到JSP?

[英]How to pass composite key from controller to jsp in spring and hibernate?

我有對象類User.java

@Entity
@Table(name = "UserMst")
public class User implements Serializable{
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long userId;

@Column(name="emailId")
private String emailId;

@Column(name="userName")
private String userName;

@Column(name="address")
private String address;

@Column(name="mobNo")
private BigDecimal mobNo;

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "deptId")
private Department department;

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "desgId")
private Designation designation;

@Column(name="grpId")
private int grpId ;

@ManyToOne(fetch=FetchType.LAZY)
@JoinColumns({
  @JoinColumn(name = "sk"),
  @JoinColumn(name = "pk")})
private Config config ;

@Column(name="upw1")
private String upw1 ;

@Column(name="upw2")
private String upw2 ;

@Column(name="upw3")
private String upw3 ;

@Column(name="createdBy")
private String createdBy ;

@Column(name="creationDate")
private Timestamp creationDate;

@Column(name="loginStatus")
private String loginStatus;

@Column(name="hintId")
private int hintId ;

@Column(name="hintAns")
private String hintAns ;

@Column(name="otp")
private String otp ;

另一個Object Config.java具有復合鍵(sk,pk),它是User對象的外鍵。

 @Entity
 @Table(name = "config")
 public class Config implements Serializable{

  private static final long serialVersionUID = 1L;

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)   
  private String pk;

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private String sk;

  @Column(name="ds")
  private String ds;

  @Column(name="value")
  private String value;

現在我有了Config的列表,並在存在下拉列表的jsp上傳遞了該列表,並希望將選項值綁定到該復合鍵(sk,pk)

 <select name="userLevel" id="lvl_Id" class="form-control" size="0"> <option value="-1">--Select--</option> <c:forEach var="levelList" items="${levelList}"> <option value="<c:out value="${levelList.sk}|${levelList.pk}" />">${levelList.ds}</option> </c:forEach> </select> 

有人可以幫我嗎?

提前致謝。

如果要將復合鍵傳遞給控制器​​端,則可以使用html標簽將數據傳遞到隱藏字段中。

可能是您的問題會解決。

$ {levelList.ds}無論此列表中存儲了什么數據,都會在選擇框中顯示。 因為沒有螞蟻數據,所以這里顯示簡單的“ $ {levelList.ds}”數據。

 <select name="userLevel" id="lvl_Id" class="form-control" size="0"> <option value="-1">--Select--</option> <c:forEach var="levelList" items="${levelList}"> <option value="${levelList.sk}|${levelList.pk}">${levelList.ds}</option> </c:forEach> </select> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM