Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在托管bean之间传递参数_Java_Jsf_Jakarta Ee_Javabeans - Fatal编程技术网

Java 在托管bean之间传递参数

Java 在托管bean之间传递参数,java,jsf,jakarta-ee,javabeans,Java,Jsf,Jakarta Ee,Javabeans,我试图将一些参数从一个托管bean传递到另一个托管bean。我看到了类似的问题并应用了他们的解决方案,但不起作用。代码如下: 在my moneytransfer.xhtml文件中: <h:commandButton action="#{moneyTransferBean.transferAccounts()}" value="Continue"> <f:param name="sender" value="#{extTableSelectionBean.sender}"

我试图将一些参数从一个托管bean传递到另一个托管bean。我看到了类似的问题并应用了他们的解决方案,但不起作用。代码如下:

在my moneytransfer.xhtml文件中:

<h:commandButton action="#{moneyTransferBean.transferAccounts()}" value="Continue">
   <f:param name="sender" value="#{extTableSelectionBean.sender}" />
</h:commandButton>
以及moneyTransferBean:

@ManagedBean
@ViewScoped
public class MoneyTransferBean {
     @ManagedProperty("#{extTableSelectionBean .sender}")
     private Account sender;
     //NO SETTER-GETTER FOR sender here

     public void transferAccounts() throws IOException {        

         if (sender != null)
         {  
             FacesContext.getCurrentInstance().getExternalContext().redirect("transferaccount.xhtml");
         }
     }
}
我看到在extTableSelectionBean中,成功地设置了“发送方”。问题是,当我访问moneyTransferBean时,发送方变为null。我该怎么办,我做错了什么


谢谢

这里混合了两种东西。将一个bean注入另一个bean并向
commandButton
添加一个参数

帐户发送方
尝试注入到
MoneyTransferBean
,但是由于没有getter setter,因此不会执行任何操作,因此注入将失败

sender
试图通过commandButton设置为作为参数发送,但没有实现@应从命令按钮读取参数时,应更改ManagedProperty注释。我假设在提交
commandButton

@ManagedProperty(value="#{param.sender}")
private Account sender;
在托管bean中还有更多的方法来发送或设置数据。请阅读BalusC的答案

相关帖子

@ManagedProperty(value="#{param.sender}")
private Account sender;