我編輯我的問題更精確,因爲我有更多時間來編寫它。JSF,表單中的多個bean更新屬性
我有一個JSF形式應該修改狗的不同屬性的值:
<h:form id="submit">
<h:outputLabel value="Dog name:"/>
<h:inputText value="#{User.dog.name}" id="dogName"/>
<h:outputLabel value="Name :"/>
<h:inputSecret value="#{User.name}" id="name" />
<h:commandButton type="submit" value="Submit" />
</h:form>
這是我管理的bean User.java
: (所有getter和setter是好的,有效的,因爲這是一個bean構造函數是空的)。 (最初狗特性是在驗證方法初始化,因此它有一個值,並且是not null
)
public class User {
public User() {}
String name;
Dog dog;
(...get, set, ect...)
這是我,因爲它僅由用戶類 Dog.java
尚未設置管理的其他的bean:
public class Dog{
public User() {}
String dog_name;
(...)
Offcourse這是一個理解事情的簡單例子。
當我發送表格時,User.name
屬性會更新但不是User.dog.name
屬性。
如何更新兩個java類的值?
提交表單後,我顯示當前值,僅User.name
已經改變:
的System.out.println(User.name); //提交表單後值改變 System.out.println(User.dog.name); //值提交表單後沒有改變
我不知道你是否明白我的問題在這裏,我想操縱我的JSF表單中的Dog類屬性,但我不會直接修改Dog bean,只有User.Dog
......
順便說一句,面臨-配置是確定的:
編輯: 我加了我的用戶管理的Bean。雖然沒有什麼改變...
<managed-property>
<property-name>dog</property-name>
<property-class>package.Dog</property-class>
<value>#{Dog}</value>
</managed-property>
更正您的問題 - 您的Dog班級宣佈爲用戶 – Bozho 2009-11-26 19:43:21
對不起,複製/粘貼錯字。 :) – wiooz 2009-11-27 04:33:54