我有一个关于形式在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