Я использую JSF 2 и простые лица 2.1.3 с tomcat. Я пытаюсь получить доступ к управляемому сессионному компоненту в классе преобразователя следующим образом.
MemberConverter{
public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2)
throws ConverterException {
MemberBean memberBean = (MemberBean)((HttpSession)arg0.getExternalContext().getSession(true)).getAttribute("memberBean");
}
}
Метод вызывается p: picklist при вызове ajax, но проблема в том, что член-член является нулевым в запросе ajax. Член-член не равен нулю, если он вызывается во время простого http-запроса. Как я могу убедиться, что memberbean не является нулевым, если он вызывается в запросе ajax.
РЕДАКТИРОВАТЬ НИЖЕ
<p:dialog header="Member Contacts" widgetVar="dialog_memberContacts" resizable="false"
showEffect="bounce" hideEffect="explode" modal="true" position="center" appendToBody="true">
<h:form id="form_compose_2">
<h:panelGrid columns="1">
<p:selectOneMenu id="dropdown_groups" value="#{groupBean.selectionGroup}" converter="groupConverter"
style="size:200px;">
<f:selectItem itemLabel="Select Group" itemValue="#{null}" noSelectionOption="true" />
<f:selectItems value="#{groupBean.groups}" var="group" itemLabel="#{group.gname}" itemValue="#{group}"/>
<p:ajax process=":form_compose_2:list_members" update=":form_compose_2" listener="#{groupBean.handleGroupChange}" />
</p:selectOneMenu>
<p:pickList id="list_members" value="#{membershipBean.membersList}" var="member"
iconOnly="true" itemLabel="#{member.fname} #{member.lname}" style="width:450px;"
itemValue="#{member}" converter="memberConverter">
<f:facet name="sourceCaption">Available</f:facet>
<f:facet name="targetCaption">Selected</f:facet>
</p:pickList>
<p:commandButton value="Ok" action="#{groupBean.updateMemberState}" oncomplete="dialog_memberContacts.hide()"
update=":form_compose:input_group" style="float:right;"/>
</h:panelGrid>
</h:form>
</p:dialog>
Это связано с диалогом. На этой странице есть две формы. Один из них находится внутри диалога, как вы можете видеть. Другая форма form_compose