JSF 2 문제입니다. 내 양식에 숨겨진 편집 영역이 있습니다. 사용자가 편집 버튼을 클릭하면 bean 속성을 true로 설정하여 영역을 표시하고 (이 작업은 간단합니다) 편집중인 값으로 다른 bean 속성을 설정합니다. 이 변수는 다음과 같이 표시됩니다.빈의 빈 문자열이 h : inputText의 이전 값을 덮어 쓰지 않음
<h:inputText value="#{bean.stringValue}" />
사용자가 편집을 취소하면 편집 영역이 숨겨집니다.
사용자가 다른 항목을 편집하려고하지만이 값은 빈 문자열 ("")입니다. 동일한 코드를 사용하면 stringValue가 emptyString으로 설정되고 영역이 표시됩니다.
그러나 빈 텍스트 상자가 아닌 이전 편집의 값이 표시됩니다.
JavaScript를 사용하지 않고이 방법을 사용할 수 있습니까?
편집 : 다음은 SSCCE에 가능한 한 가까이 있습니다. 보시다시피, 나는 테이블 내부 편집을 활성화하고 있습니다. 나는 또한 ICEfaces를 사용하고 있지만이 경우 특별한 것은 없다.
<table>
<tbody>
<ui:repeat var="cfi"
value="#{evDetailBean.completeEvent.listCompleteCashFlowItems}">
<ice:panelGroup rendered="#{!cfi.editThisOne}">
<tr>
<td>#{cfi.cfiName}</td>
<td>#{cfi.absOfAmount}</td>
<td>#{cfi.frequencyDescr}</td>
<td>#{cfi.cfiToFrom}</td>
<td>#{cfi.assetPoolName}</td>
<td style="text-align: center"><h:commandLink
actionListener="#{cfi.editCfiListener}" value="Edit" />    <h:commandLink
value="Delete" actionListener="#{cfi.deleteCfiListener}" />
</td>
</tr>
</ice:panelGroup>
<ice:panelGroup rendered="#{cfi.editThisOne}">
<tr>
<td><ice:inputText value="#{evDetailBean.newCFIName}"
style="width:118px;" partialSubmit="true" immediate="true" validator="#{evDetailBean.valNewCFIName}" /></td>
<td>xxx</td>
<td>xxx</td>
<td>xxx</td>
<td>xxx</td>
<td style="text-align: center;"><ice:commandButton
value="Save" immediate="true"
actionListener="#{evDetailBean.saveEditCfiListener}"
styleClass="plumvo-button"
style="float:left; vertical-align: middle;" />   
<ice:commandLink value="Cancel" style="vertical-align: middle;"
actionListener="#{cfi.cancelEditCfiListener}" /></td>
</tr>
</ice:panelGroup>
</ui:repeat>
</tbody>
그리고 이것은 (일부)이의 actionListener입니다 : 당신의 도움에 미리
public void editCfiListener(ActionEvent e) {
EvDetailBean evDetailBean = completeEvent.getEvDetailBean();
evDetailBean.setNewCFIName(this.getCfiName());
// initialize more fields
editThisOne = true; // This causes the row being edited to open up with modifiable fields.
}
감사합니다.
값을 빈 문자열로 재설정하는 방법을 보여줄 수 있습니까? 또한 inputText가 뷰의 목록에있는 다른 항목에 대해 어떻게 defind 하는지를 보여줄 수 있습니다. –
SSCCE를 보여주십시오. 문제의 용어 또는 모호성이 분명히 있습니다. – BalusC