Я попробовал ваше решение, и оно сработало :).Здесь я просто публикую свой ответ, как я это сделал.На самом деле кто-то только что задал мне этот вопрос, чтобы мы могли получить все компоненты внутри конструктора при вызове нашей страницы, то есть, почему я спросил на этом форуме :).Вот мой код
/** Creates a new instance of ExporterProfileUpdateRequestGrid */
public ExporterProfileUpdateRequestGrid() {
session = ConnectionUtil.getCurrentSession();
exporterProfileUpdateRequestList = new ArrayList<ExporterProfileUpdateRequest>();
int test = selectedRadioButton;
System.out.println();
//getExporterProfileUpdateRequestGrid();
} //end of constructor
@PostConstruct
public void init() {
UIViewRoot viewRoot = FacesContext.getCurrentInstance().getViewRoot();
UIComponent component1 = viewRoot.findComponent("exporterProfileUpdateRequestGrid"); //form id
HtmlForm form = (HtmlForm)component1;
List<UIComponent> componentList = form.getChildren();
for(int i=0; i<componentList.size(); i++) {
UIComponent component = componentList.get(i);
if (component instanceof Panel) {
Panel myPanel = (Panel)component;
List<UIComponent> panelComponentList = myPanel.getChildren();
for(int j=0; j<panelComponentList.size(); j++) {
UIComponent panelComponent = panelComponentList.get(j);
System.out.println();
}
System.out.println();
}
System.out.println();
} //end of for()
UIComponent component2 = viewRoot.findComponent("panel1"); //null
UIComponent component3 = viewRoot.findComponent("myTable"); // null
} //end of init
Я хочу спросить, что я получил форму (HtmlForm) здесь, но panel1 и myTable null, почему?Хотя я получаю панель и таблицу, осматривая детей HtmlForm, но почему я не могу получить их напрямую.
Спасибо