JSF2.0在inputHidden中传递值而不是outputLabel不起作用

时间:2012-10-06 15:55:32

标签: jsf-2

我们是JSF的新手,正在努力解决以下问题。

我们有一个搜索页面,用户可以点击按钮转到详细信息页面。 到达此详细信息页面时,所选记录将正确显示。

当用户编辑该值时,验证器就会启动。 自定义验证器检查两件事: - 如果记录已经在DB中(唯一的) - 如果值不为空

当用户删除当前值时,提交一个空字符串,验证器表示该值不允许为空。

当用户将值更改回先前的值并提交时,验证程序应验证当前值并返回搜索页面。

现在问题如下: 使用时:

<h:outputLabel value="Supplier Id" />
<h:outputLabel value="#{flash.keep.supplier.id}" />
一切正常。但是我们想隐藏用户的id并使用隐藏字段。

删除outputLabel时,使用:

<h:inputHidden value="#{flash.keep.supplier.id}" />

我们的应用程序认为我们正在尝试插入新供应商,而不是使用相同名称保存现有供应商。

我们在NetBeans开发环境中使用JSF 2.0,GlassFish Server 3.1.2。

bean是RequestScoped

源代码可在以下位置获得: https://bitbucket.org/dasdan20/timereg4wb-web

观点如下:     网络/供应商/ search.xhtml     网络/供应商/ addedit.xhtml

bean和支持代码:     SRC /任务/ SupplierTask.java     SRC / task.validation / SupplierUniqueValidator     SRC /域/ Supplier.java

数据库后端是MySQL:数据库的备份可以在以下位置找到:     SRC / MySQLDatabase

提前致谢

K&amp; ķ

1 个答案:

答案 0 :(得分:0)

你可能做错了。制作一个具有更长范围的新Bean,以便记住&#34;选择供应商。

@RequestScoped
SupplierController
// Almost everything here

@SessionScoped
StatefulSupplierController
// State that needs to be saved