【发布时间】:2014-07-22 05:03:31
【问题描述】:
我正在尝试创建一个可以在单个页面上完全编辑和显示的 sql 数据表。 我正在使用 jsf 和一个命名的 bean。 我使用 arraylist bean 对象来存储和显示数据。
public List<RegionBean> getRegions()throws SQLException{
数据显示在 inputText 元素中。当我尝试使用支持 bean 中的 sql 方法更新信息时,它无法将更新的文本添加到 sql 数据库。 它将简单地放置与最初显示的相同的值。 我想要做的是让输入文本框显示数组列表中的数据值,然后在它们被编辑后将它们存储在 bean 的不同字段中。
这是我现在的代码。
<h:dataTable value="#{regionBean.regions}" var="regions"/>
<h:column>
<f:facet name="header">Region ID</f:facet>
#{regions.regionID}
</h:column>
<h:column>
<f:facet name="header">Region Description</f:facet>
<h:inputText id="des" value="#{regions.regionDescription}">
<f:ajax event="change"
listener="#{regionBean.updateText(event)}"
render="des"/>
</h:inputText>
<h:column>
<f:facet name="header">Save</f:facet>
<h:commandButton action="#{regionBeanupdate(regions.regionID)}" value="Update">
</h:commandButton>
</h:column>
我遇到的问题 UIComponent-ClientId=, Message=javax.el.PropertyNotWritableException:
在我的豆子里
public void updateText(AjaxBehaviorEvent event)
throws AbortProcessingException { }
如何将新的输入文本框值传递给此方法,以便将其作为字符串存储在 bean 中,从而能够使用它来更新 sql 数据库。
请理解我熟悉 sql,并且我之前构建了几个 CRUD 应用程序,我的问题与 sql 语法或其他方面无关。
【问题讨论】:
标签: jsf