我有一個關於形式在JSF 2提交一個小問題:JSF2數據綁定問題
在我的webapp我,在我的數據庫更新實體的功能。該函數從託管bean中獲取相關數據。
所以,我的問題是,我的觀點的變化不傳遞給managedBean。爲了讓你清楚,這裏舉一個例子:
public String updateProject() {
projectService.updateProject(projectData.getProjectDTO());
return ("overview.xhtml");
}
prjectData是我的ManagedBean。這一個不行!沒有更新。
public String deleteProject() {
projectData.getProjectDTO().setDeleted(true);
projectService.updateProject(projectData.getProjectDTO());
return ("overview.xhtml");
}
在這裏,當我通過代碼改變一個值它的工作原理!所以我想我的值不在視圖中傳遞給我的managedBean。
哪裏可能出錯?是否可能需要調用一個操作來使數據通過我的視圖到managedBean?
答到的Gabor的評論:
我的頁面看起來像:
<h:form>
<h:commandLink action="#{controller.updateProject}" value="Edit" />
<h:outputLabel for="title" value="Titel" />
<h:inputText id="title" value="#{projectData.projectDTO.title}" />
</h:form>
如果我改變此標題,並按下更新什麼都不會發生;-)
我的控制器看起來像:
@ManagedBean
@RequestScoped
public class Controller {
@ManagedProperty(value = "#{projectData}")
private ProjectData projectData;
...
由於未知原因,我在eclipse中的調試模式不再工作了,它始終忽略我的斷點。我會解決這個問題,然後我會檢查一下實例。 Sry -.-
那麼你的JSF頁面是怎樣的呢?什麼應該叫這些功能? – egbokul 2010-09-06 10:07:48
您是否可以爲projectData bean和projectDTO屬性打開代碼,如何定義它。 – 2010-09-06 11:34:20
您是否嘗試調試它以查看數據是否傳遞到託管bean?並檢查它是否是相同的實例? (請參閱BalusC答案)。 – amorfis 2010-09-06 12:09:29