Dan*_*own 6 java spring jsp hibernate hibernate-mapping
在Java中,我可以访问类的Transient字段的值.但是,我不能访问JSP上的相同字段.如何让它们可用于JSP?
我正在使用Hibernate检索值,我认为这个解决方案将是Transformers.aliasToBean选项但是还有其他任何解决方案吗?
反正有没有摆脱瞬态注释但在Hibernate中具有相同的映射?在这种情况下,问题将得到解决.
@AssociationOverrides({
@AssociationOverride(name = "tta.names", joinColumns = @JoinColumn(name = "id"))})
public class Names implements java.io.Serializable {
private static final long serialVersionUID = -30956546435023625398L;
@EmbeddedId
private TableToAssociate tta = new TableToAssociate();
@Transient
public String getid() {
return tta.getMyIds().getId();
}
public void setid(String id) {
this.tta.getMyIds().setId(id);
}
Run Code Online (Sandbox Code Playgroud)
在Java中,我可以使用以下代码访问它们
System.out.println(mystudents.getNames().iterator().next().getId());
Run Code Online (Sandbox Code Playgroud)
在JSP中,我无权访问它们!
<c:forEach var="nm"items="${mystudents.names}">
${nm.id}
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
如果我放置另一个非瞬态名称字段,JSP会成功显示该项的值.
尝试重命名方法以匹配 JavaBean 规范。
代替:
@Transient
public String getid() {
return tta.getMyIds().getId();
}
public void setid(String id) {
this.tta.getMyIds().setId(id);
}
Run Code Online (Sandbox Code Playgroud)
你应该有:
@Transient
public String getId() {
return tta.getMyIds().getId();
}
public void setId(String id) {
this.tta.getMyIds().setId(id);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1221 次 |
| 最近记录: |