第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

驗(yàn)證錯(cuò)誤發(fā)生后,如何使用PrimeFacesAjax填充文本字段?

驗(yàn)證錯(cuò)誤發(fā)生后,如何使用PrimeFacesAjax填充文本字段?

手掌心 2019-07-13 10:13:15
驗(yàn)證錯(cuò)誤發(fā)生后,如何使用PrimeFacesAjax填充文本字段?我在視圖中有一個(gè)表單,它為自動完成和GMAP本地化執(zhí)行Ajax部分處理。我的后臺bean實(shí)例化了一個(gè)實(shí)體對象“Address”,并將表單的輸入引用到這個(gè)對象:@ManagedBean(name="mybean")@SessionScopedpublic class Mybean implements Serializable {     private Address address;     private String fullAddress;     private String center = "0,0";     ....     public mybean() {         address = new Address();     }     ...    public void handleAddressChange() {       String c = "";       c = (address.getAddressLine1() != null) { c += address.getAddressLine1(); }       c = (address.getAddressLine2() != null) { c += ", " + address.getAddressLine2(); }       c = (address.getCity() != null) { c += ", " + address.getCity(); }       c = (address.getState() != null) { c += ", " + address.getState(); }       fullAddress = c;       addMessage(new FacesMessage(FacesMessage.SEVERITY_INFO, "Full Address", fullAddress));       try {             geocodeAddress(fullAddress);         } catch (MalformedURLException ex) {             Logger.getLogger(Mybean.class.getName()).log(Level.SEVERE, null, ex);         } catch (UnsupportedEncodingException ex) {             Logger.getLogger(Mybean.class.getName()).log(Level.SEVERE, null, ex);         } catch (IOException ex) {             Logger.getLogger(Mybean.class.getName()).log(Level.SEVERE, null, ex);         } catch (ParserConfigurationException ex) {             Logger.getLogger(Mybean.class.getName()).log(Level.SEVERE, null, ex);         } catch (SAXException ex) {             Logger.getLogger(Mybean.class.getName()).log(Level.SEVERE, null, ex);         } catch (XPathExpressionException ex) {             Logger.getLogger(Mybean.class.getName()).log(Level.SEVERE, null, ex);         }     }在我在提交時(shí)處理整個(gè)表單之前,自動完成和映射Ajax請求可以很好地工作。如果驗(yàn)證失敗,Ajax仍然工作正常,除非字段Full Address無法在視圖中更新,即使在Ajax請求之后在后臺bean上正確設(shè)置了它的值。如果刷新頁面,驗(yàn)證錯(cuò)誤消息就會消失,Ajax將按預(yù)期完成FullAddress字段。在驗(yàn)證過程中還會發(fā)生另一個(gè)奇怪的行為:我已經(jīng)禁用了表單字段的bean驗(yàn)證,如代碼中所示。這個(gè)工作正常,直到找到其他驗(yàn)證錯(cuò)誤,那么,如果我重新提交表單,JSF將對此字段進(jìn)行bean驗(yàn)證!我想我在驗(yàn)證狀態(tài)中遺漏了一些東西,但是我不知道它有什么問題。有人知道如何調(diào)試JSF生命周期嗎?有什么想法嗎?
查看完整描述

3 回答

?
qq_花開花謝_0

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊

您還可以添加一個(gè)可重用的監(jiān)聽器來清除所有輸入值,例如:

public?class?CleanLocalValuesListener?implements?ActionListener?{@Overridepublic?void?processAction(ActionEvent?actionEvent)?
throws?AbortProcessingException?{
????FacesContext?context?=?FacesContext.getCurrentInstance();
????UIViewRoot?viewRoot?=?context.getViewRoot();
????List<UIComponent>?children?=?viewRoot.getChildren();

????resetInputValues(children);}private?void?resetInputValues(List<UIComponent>?children)?{
????for?(UIComponent?component?:?children)?{
????????if?(component.getChildCount()?>?0)?{
????????????resetInputValues(component.getChildren());
????????}?else?{
????????????if?(component?instanceof?EditableValueHolder)?{
????????????????EditableValueHolder?input?=?(EditableValueHolder)?component;
????????????????input.resetValue();
????????????}
????????}
????}
??}}

并在需要清理本地值時(shí)使用它:

<f:actionListener?type="com.cacib.bean.CleanLocalValuesListener"/>


查看完整回答
反對 回復(fù) 2019-07-13
?
MMMHUHU

TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊

在你的標(biāo)簽里<p:ajax/>,請?zhí)砑訉傩?/trans>resetValues="true"若要告訴視圖再次獲取數(shù)據(jù),以這種方式應(yīng)該能夠修復(fù)您的問題。


查看完整回答
反對 回復(fù) 2019-07-13
  • 3 回答
  • 0 關(guān)注
  • 386 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號