无法从DojoFaces按钮组件调用托管bean Action方法

时间:2011-09-20 16:36:19

标签: jsf dojo

我正在尝试在我的下一个基于JSF的portlet中使用DojoFaces。我正在使用JSF 1.1和JSR 286 portlet部署在WPS 6.1上。

问题是,我使用的是action属性,它应该调用JSF托管bean操作方法。但是,它没有。

<dojo:button id="myBtn" label="DOJOSubmit" attr="type: 'submit'" rendered="true"      
action="\#{myBean.myAction}">    </dojo:button>

有趣的是,我创建了一个phaseListener来检查单击按钮时会发生什么。我注意到,它经历了所有阶段,但“调用应用程序”。如下,

[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O Before:RESTORE_VIEW 1
[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O Before:RESTORE_VIEW 1
[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O AFTER:RESTORE_VIEW 1
[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O AFTER:RESTORE_VIEW 1
[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O Before:APPLY_REQUEST_VALUES 2
[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O Before:APPLY_REQUEST_VALUES 2
[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O AFTER:APPLY_REQUEST_VALUES 2
[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O AFTER:APPLY_REQUEST_VALUES 2
[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O Before:PROCESS_VALIDATIONS 3
[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O Before:PROCESS_VALIDATIONS 3
[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O AFTER:PROCESS_VALIDATIONS 3
[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O AFTER:PROCESS_VALIDATIONS 3
[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O Before:UPDATE_MODEL_VALUES 4
[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O Before:UPDATE_MODEL_VALUES 4
[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O AFTER:UPDATE_MODEL_VALUES 4
[20/09/11 17:29:13:355 BST] 0000013a SystemOut     O AFTER:UPDATE_MODEL_VALUES 4
[20/09/11 17:29:13:386 BST] 0000013a SystemOut     O Before:RESTORE_VIEW 1
[20/09/11 17:29:13:386 BST] 0000013a SystemOut     O Before:RESTORE_VIEW 1
[20/09/11 17:29:13:402 BST] 0000013a SystemOut     O AFTER:RESTORE_VIEW 1
[20/09/11 17:29:13:402 BST] 0000013a SystemOut     O AFTER:RESTORE_VIEW 1
[20/09/11 17:29:13:402 BST] 0000013a SystemOut     O Before:RENDER_RESPONSE 6
[20/09/11 17:29:13:402 BST] 0000013a SystemOut     O Before:RENDER_RESPONSE 6
[20/09/11 17:29:13:402 BST] 0000013a SystemOut     O AFTER:RENDER_RESPONSE 6
[20/09/11 17:29:13:402 BST] 0000013a SystemOut     O AFTER:RENDER_RESPONSE 6

有人可以解释一下为什么会这样吗?

此致 HP

1 个答案:

答案 0 :(得分:0)

感谢Dojofaces的Ganesh,我做对了。

问题是我离开了输入组件而没有将其绑定到托管bean的值,如下所示,应该避免。

<dojo:form id="dojoForm">
<dojo:textBox id="dftextbox" attr="" value="" />

<dojo:button id="tundraButton" label="DOJOSubmit" attr="type: 'submit'" rendered="true" action="\#{myBean.myAction}">         
</dojo:button>    

</dojo:form>

因此,正如我所建议的那样,我将textBox附加了一个托管bean的值,如下所示,

<dojo:textBox id="dftextbox" attr="" value="#{myBean.myText}" />

就是这样。它对我有用。

希望这有助于某人!