【问题标题】:Call a JSF method调用 JSF 方法
【发布时间】:2013-05-04 12:28:21
【问题描述】:

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

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

请帮忙

【问题讨论】:

  • 请提供您的代码
  • 请粘贴您的testscript按钮html,脚本,方法被调用,而方法需要被调用。

标签: jsf


【解决方案1】:

执行 onclick="getElementById" 只会获取一个 id。因为它是一个按钮,所以你不要说“return false”;您的表单由功能按钮提交(如果它在呈现的页面上具有提交类型)。当然,在这种情况下,根本不会调用另一个按钮的 actionlistener(因为它与表单提交无关)。

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

最好有一个简单的 而不是 feat:button 以确保该元素不会调用提交。

【讨论】:

  • 我试过你的选择。但它仍然从 bean 调用另一个方法。请帮忙
  • 如果你能提供你的 bean 的代码和“feat”的完整命名空间,那会很有帮助。或者feat是你定义的命名空间?
  • 您是否编辑了问题。昨晚在我看来,当您单击 feat:button 时会出现问题。从问题的当前描述来看,在我看来,当您按下 h:commandButton 时会出现问题。
  • 还有一些提示:如果您复制粘贴代码,请注意# 后面的空格不应该存在。另一个提示是在页面上取出一个 h:messages 元素。表单上经常出现验证错误(因此不调用 actionListeners),但日志中没有任何内容。使用 您可以打印出所有验证问题。
猜你喜欢
  • 2023-03-27
  • 1970-01-01
  • 1970-01-01
  • 2016-08-18
  • 2011-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-31
相关资源
最近更新 更多