0
我的用戶實體類有幾個成員變量(例如String firstName),它們是持久化的,並且一些瞬態變量(例如暫時布爾值被選中)不是。在表單提交時沒有正確捕獲瞬態變量
我已經使用瞬態變量來捕獲複選框的選擇,但總是該值永遠不會被設置和正確處理,直到我設置了另一個bean值。
即如果用戶擁有的firstName如果我只是選擇了價值似乎並不如我所選中該複選框上的更新 被設置(映射到一個文本字段),並選擇(映射到一個複選框) 和firstName字段中,「selected」值被正確捕獲
有誰能告訴我爲什麼會發生這種情況?
@Entity @Table(name = "User")
public class User implements Serializable {
@Id @GeneratedValue(strategy = IDENTITY)
@Column(name = "id", unique = true, nullable = false, insertable = false, updatable = false)
private Integer id;
@Column(name = "first_Name")
private String firstName;
@Transient private boolean selected; // getters and setters
}
<rich:dataTable value="#{users}" var="_user" style="width:auto;">
...
<rich:column>
<f:facet name="header">Select</f:facet>
<h:selectBooleanCheckbox value="#{_user.selected}"/>
</rich:column>
</rich:dataTable>
哇,那全是一句話。對不起,我不明白一件事。也許顯示代碼? – Bozho 2010-06-05 07:16:46
@Entity @Table(name = 「用戶」) 公共類用戶實現Serializable { @Id @GeneratedValue(策略= IDENTITY) @Column(name = 「ID」,獨特= TRUE,可爲空=假, insertable = false,updatable = false) private Integer id; @Column(name =「first_Name」) private String firstName; @瞬態 已選擇private boolean; // getter和setter \t \t } 的 –
Achaius
2010-06-05 07:37:55
的代碼添加到你的問題(編輯)。這種方式幾乎是不可讀的。 – Bozho 2010-06-05 07:57:53