как динамически получить идентификатор сопоставления из базы данных

Я разрабатываю приложение, в котором я поместил меню, которые отображаются из базы данных mysql. Я вставил имена меню и идентификаторы сопоставления в таблицу БД. теперь у меня возникает проблема, как мне преобразовать список (список меню) в xhtml (теги jsf html) в настоящее время я использую это, я сохранил все меню в subMenuBeanList и сохранил этот список в Session, а затем перебрать (ui:repeat) subMenuBeanList в файл xhtml где я хочу получить имена меню (показать имена меню пользователю) следующим образом: h:commandLink value="#{subMenuBeanList.subMenuNameBean}" и mapId action="#{subMenuBeanList.subMenuLinkBean}" см. четкий код ниже:

 <ui:repeat value="#{session.getAttribute('subMenuBeanList')}" var="subMenuBeanList">

<h:commandLink value="#{subMenuBeanList.subMenuNameBean}"   action="#{subMenuBeanList.subMenuLinkBean}" />  
// i want this <h:commandLink value="menu One Name" action="pretty:menuonemappingid" />
//<h:commandLink value="menu Two Name" action="pretty:menutwomappingid" />
// so on depending upon records in table
// closing tags

здесь, когда я нажимаю h:commandLink, я получаю это исключение

javax.el.MethodNotFoundException: /template/templateslider.xhtml @56,123 action="#{subMenuBeanList.subMenuLinkBean}": Method not found: com.hesco.repository.common.generalinformation.managed.bean.SubMenuBean@1a0974ce.subMenuLinkBean()

я знаю, что этот subMenuLinkBean не является методом, это переменная в классе action(.java), но здесь я поместил его в action="#{subMenuBeanList.subMenuLinkBean}", поэтому я получаю это исключение..

мой вопрос в том, как мне это сделать? я хочу получить идентификатор отображения из БД, не жестко закодированный в каком-либо файле

это класс управляемого компонента

@ManagedBean(name="subMenuBean")
@ViewScoped
public class SubMenuBean implements Serializable {



    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private Integer subMenuIdBean;
    private Integer menuIdBean;
    private String subMenuNameBean;
    private String subMenuLinkBean;
    private String isActive;
    //jsf will not create nasted object, so that i create it like this.
    private MenuBean menuBean = new MenuBean();

    //private Set<Assigneduserrole> assigneduserroles = new HashSet<Assigneduserrole>(0);
    private ArrayList<SubMenuBean> subMenuBeanList = null;

///setter and getter

это другой класс, из которого я устанавливаю значение bean-компонентов query - это записи базы данных..

for (Iterator it = query.iterator(); it.hasNext();) {
                                    Object[] obj = (Object[]) it.next();

                                    log.info("assigning role by iterator");
                                    // adding Section Beans into ArrayList

                                    SubMenuBean subMenuBean = new SubMenuBean();
                                    subMenuBean.setSubMenuIdBean(((Submenu) obj[2]).getSubMenuId());
                                    subMenuBean.setSubMenuNameBean(((Submenu) obj[2]).getSubMenuName());
                                    subMenuBean.setSubMenuLinkBean(((Submenu) obj[2]).getSubMenuLink());
                                    subMenuBean.setMenuIdBean(((Submenu) obj[2]).getMenu().getMenuId());
                                    subMenuBean.setIsActive(((Submenu) obj[2]).getIsActive());
                                    this.subMenuBeanList.add(subMenuBean);

                                    log.info("Sub Menu List: " + this.subMenuBeanList.size());

                                } // ending of Object iterator

person mo sean    schedule 21.10.2013    source источник
comment
Как сделать что? Вы знаете, что то, что вы описываете, недействительно, но я не понимаю, что вы на самом деле пытаетесь сделать (что должны делать ссылки?)   -  person SJuan76    schedule 21.10.2013
comment
я обновил вопрос, см. раздел кода   -  person mo sean    schedule 21.10.2013
comment
Можете ли вы опубликовать код управляемого компонента   -  person BholaVishwakarma    schedule 21.10.2013
comment
я обновил свой вопрос   -  person mo sean    schedule 21.10.2013
comment
Есть ли проблема, если вы отправляете свой идентификатор отображения в качестве параметра в вызове/методе?   -  person danRod    schedule 21.10.2013
comment
@danRod как? я не могу этого понять   -  person mo sean    schedule 21.10.2013
comment
Я не знаю, какой именно JSF2.x вы используете, но это link1, link2 и link3 может помочь вам понять   -  person danRod    schedule 21.10.2013
comment
используя jsf 2.1, prettyfaces 3.3.3, primefaces 3.5 , hibernate 4.0   -  person mo sean    schedule 21.10.2013