从复合组件的支持组件中获取渲染的 html 代码
Get rendered html code in Backing Component from Composite Component
如何在后台组件中获取发布的表单数据
processUpdates
方法?
@Override
public void processUpdates(FacesContext context) {
//get here rendered html code
}
或者我可以在 decode
方法中获取发布的表单数据吗?
[编辑]:
我的目标是获取发布的表单数据 - 而不是获取生成的 html 代码(对不起,我不是很准确)
目前尚不清楚您想要实现什么。我的意思是,在高水平上。
UIComponent.decode
和 processUpdates
是中级生命周期 API,当您想要 扩展 框架时应该覆盖它们。
如果您只需要使用框架,您需要一个托管bean,而不是支持组件.
此外,通常 只有扩展 UIInput
的组件需要挂钩这些阶段,因为它们绑定到 value="#{...}"
值表达式(在在大多数情况下,turn 指的是 托管 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);
}
拜托,post 完整的 xhtml facelet 代码(不是复合代码,而是 使用 那个复合代码的 facelet),所以我可以理解你想去哪里我可以尝试为您指明要使用的正确工具。
如何在后台组件中获取发布的表单数据
processUpdates
方法?
@Override
public void processUpdates(FacesContext context) {
//get here rendered html code
}
或者我可以在 decode
方法中获取发布的表单数据吗?
[编辑]: 我的目标是获取发布的表单数据 - 而不是获取生成的 html 代码(对不起,我不是很准确)
目前尚不清楚您想要实现什么。我的意思是,在高水平上。
UIComponent.decode
和 processUpdates
是中级生命周期 API,当您想要 扩展 框架时应该覆盖它们。
如果您只需要使用框架,您需要一个托管bean,而不是支持组件.
此外,通常 只有扩展 UIInput
的组件需要挂钩这些阶段,因为它们绑定到 value="#{...}"
值表达式(在在大多数情况下,turn 指的是 托管 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);
}
拜托,post 完整的 xhtml facelet 代码(不是复合代码,而是 使用 那个复合代码的 facelet),所以我可以理解你想去哪里我可以尝试为您指明要使用的正确工具。