我有一个JSF页面,我有输入字段,值正在保存到数据库。
我想做插入和更新。 区分插入和更新的最佳方法是什么,我不想使用标志。 我的意思是如果flag是“I”,那么insert else标志是“U”然后更新。
最好像ID不为null,然后调用insert方法,否则为null,然后调用update方法。 ID是我的主键,它是自动生成的。
我使用的是JSF 1.1,数据库是Oracle 10g。
答案 0 :(得分:1)
这不是jsf的典型问题,而是标准设计问题。我已经看到这是通过以下方式处理的。
merge
关键字在Oracle中完成。 答案 1 :(得分:0)
you can do like this....
<h:commandButton value="Update" action="#{bean.updateAction}"
rendered="#{bean.ID eq ''}"/>
<h:commandButton value="Add" action="#{bean.saveAction}"
rendered="#{bean.ID ne ''}">
where id is an attribute in your backing bean initiated with empty string.
答案 2 :(得分:0)
由于您尚未发布任何代码,并且您的应用程序描述对我来说都不合适,我只能建议使用包含最终使用h:inputHidden
呈现的标志的隐藏表单字段标签。当然,没有什么可以阻止任何人在回发发生时将标志的值从U更改为I.毕竟,这是JSF 1.1,并且没有视图范围的概念。
但是,您可以使用会话范围来存储值,而不是隐藏的表单字段,但是当您不再需要时,必须清除这些值。