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
调用JSF方法_Jsf - Fatal编程技术网

调用JSF方法

调用JSF方法,jsf,Jsf,当用户单击Testscript按钮时,应该调用Testscript方法。但它在我的bean中调用了不同的方法。下面是示例代码 <h:form id="myform"> <h:commandButton id="testScript" actionListener="# {ScriptedPolicyBean.testScript"} /> <feat:Button onclick="document.getElementById("myForm:testS

当用户单击Testscript按钮时,应该调用Testscript方法。但它在我的bean中调用了不同的方法。下面是示例代码

 <h:form id="myform">
<h:commandButton id="testScript" actionListener="# {ScriptedPolicyBean.testScript"} />
    <feat:Button onclick="document.getElementById("myForm:testScript")" />
     </h:form>                  

请帮助执行onclick=“getElementById”什么都不做,只是获取一个id。因为它是一个按钮,并且您没有说“return false”;您的表单是通过feat按钮提交的(如果它在呈现页面上具有提交类型)。当然,在这种情况下,根本不会调用另一个按钮的actionlistener(因为它与表单提交无关)

您应该像这样调用testScript按钮上的click方法:onclick=“document.getElementById('myForm:testScript')。click();”


最好用一个简单的按钮来代替feat:按钮,以确保该元素没有调用submit。

请提供您的代码请粘贴testscript按钮html、脚本,然后调用该方法,而需要调用该方法。我试过你的选择。但是它仍然从bean调用另一个方法。如果您能提供bean的代码和“feat”的完整名称空间,请提供帮助。或者feat是您定义的名称空间?您是否编辑了该问题。在我看来,昨晚当你点击feat:按钮时,问题就出现了。从当前对问题的描述来看,在我看来,问题发生在您按下h:commandButton时。还有一些提示:如果您复制粘贴了代码,请注意#后面有一个不应该存在的空格。另一个提示是在页面上去掉一个h:messages元素。表单上经常会出现验证错误(因此不会调用actionListeners),但日志中对此没有任何说明。使用,您可以打印出所有验证问题。