如何獲取 processUpdates
方法中的後備組件中的發佈表單數據?從複合組件獲取備份組件中的呈現的html代碼
@Override
public void processUpdates(FacesContext context) {
//get here rendered html code
}
或者我可以在decode
方法中獲得張貼的表格數據嗎?
[編輯]: 我的目標是讓發佈表單數據 - 不要讓生成的HTML代碼(Sry基因我是不準確)
如何獲取 processUpdates
方法中的後備組件中的發佈表單數據?從複合組件獲取備份組件中的呈現的html代碼
@Override
public void processUpdates(FacesContext context) {
//get here rendered html code
}
或者我可以在decode
方法中獲得張貼的表格數據嗎?
[編輯]: 我的目標是讓發佈表單數據 - 不要讓生成的HTML代碼(Sry基因我是不準確)
目前尚不清楚你想要才達到什麼,可是。我的意思是,在高層次。
UIComponent.decode
和processUpdates
是中等級別生命週期API,當您想要擴展框架時應該重寫。
如果你只需要使用的框架,你需要一個託管bean,不是後盾組件。
此外,通常只有擴展UIInput
組件需要在這些階段掛鉤,因爲它們被結合到value="#{...}"
值表達式(這又是指託管bean,在大多數情況下),並且需要使這些值與綁定表達式同步。
我懷疑你是無用地使你的生活複雜化:如果你對框架的運行方式沒有很好的理解,那麼掛鉤到中等或低級別的API是一個真正的痛苦。
無論如何,標準請求參數解碼到輸入組件是這樣的:
String clientId = this.getClientId(context);
Map<String, String> requestMap = context.getExternalContext().getRequestParameterMap();
String newValue = requestMap.get(clientId);
if (newValue != null)
{
this.setSubmittedValue(newValue);
}
請,後(使用未複合之一,但的facelet 即複合物)的完整的XHTML的facelet代碼,所以我可以理解你想去的地方,我可以試着指引你使用正確的工具。
嘗試從生成的HTML中獲取輸入值是瘋狂的。你有一個完整的服務器端框架,其主要目標是模擬有狀態通信。請發佈您的xhtml(facelets)代碼,以便我能夠理解您嘗試存檔的內容,而不是您想要解決的問題:)也許您需要類似[PrimeFaces **自定義佈局**單選按鈕輸入](https:/ /www.primefaces.org/showcase/ui/input/oneRadio.xhtml)? –
@MicheleMariotti我很高興,我試着說,我需要獲取發佈的表單數據,而不是生成的html。我編輯了我的問題。 – Briefkasten