从复合组件获取备份组件中的呈现的html代码

问题描述:

如何获取 processUpdates方法中的后备组件中的发布表单数据?从复合组件获取备份组件中的呈现的html代码

@Override 
    public void processUpdates(FacesContext context) { 
//get here rendered html code 
} 

或者我可以在decode方法中获得张贴的表格数据吗?

[编辑]: 我的目标是让发布表单数据 - 不要让生成的HTML代码(Sry基因我是不准确)

+1

尝试从生成的HTML中获取输入值是疯狂的。你有一个完整的服务器端框架,其主要目标是模拟有状态通信。请发布您的xhtml(facelets)代码,以便我能够理解您尝试存档的内容,而不是您想要解决的问题:)也许您需要类似[PrimeFaces **自定义布局**单选按钮输入](https:/ /www.primefaces.org/showcase/ui/input/oneRadio.xhtml)? –

+0

@MicheleMariotti我很高兴,我试着说,我需要获取发布的表单数据,而不是生成的html。我编辑了我的问题。 – Briefkasten

目前尚不清楚你想要才达到什么,可是。我的意思是,在高层次。

UIComponent.decodeprocessUpdates是中等级别生命周期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代码,所以我可以理解你想去的地方,我可以试着指引你使用正确的工具。