2013-05-13 59 views
0

我使用JSF 1.2具有丰富的脸库阿贾克斯提交到JSF更新后台bean属性1.2

我有一个这样的形式:

<a4j:form> 

    <!-- lof of other components here --> 
    <h:panelGrid> 

     <h:inputText id="someOrg" value="#{someBean.Data}"> 
     <a4j:commandButton id=""action="${someOtherBean.processData}" value="Submit"> <!-- it can be a4j:commandButton too--> 
    </h:panelGrid> 


    <!-- some components will be rendered based on above submission --> 

</a4j:form> 

如上表格所示,我要提交h:用ajax将inputText传递给使用按钮的服务器。 只有PART内部应该被处理。

我的问题是我想从someOtherBean.processData方法访问someBean.Data与ajax.How我可以实现吗?

我尝试了下面的东西,但没有成功。

1)使用4J:命令按钮和使用ajaxSingle = “真”,因为只有某些部分需要提交(如果我提交整个 表单验证错误回报会被抛出)

2)使用H:。的commandButton与a4j:支持

3)将必要的组件内部,使用这将只提交选定的区域服务器。

在上述所有情况下,表单都被提交,但someBean.Data总是返回null。

+0

inputText组件未关闭。检查一次。 – pudaykiran 2013-05-14 07:38:19

回答

1

如果Bean1是请求范围,你可以使用获取这个bean的当前实例

Bean1 bean =(Bean1) FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("bean1"); 

如果bean是会在你的processData方法随后

Bean1 bean = (Bean1) FacesContext.getCurrentInstance().getExternalContext() 
      .getSessionMap().get("bean1"); 

你可以写上面的代码范围的

有关托管bean之间的通信的更多信息,请通过this链接