如何在不渲染页面的情况下使用 Openfaces/JSF 调用方法?

发布于 2024-11-09 13:22:25 字数 610 浏览 0 评论 0 原文

我正在尝试使用 Openfaces 3 调用 bean 中的 Save 方法。虽然 Firefox 不渲染页面,但 Internet Explorer 渲染页面。

我目前正在使用此代码行:

<o:commandLink value="Save" action="#{beanX.save}">
  <h:graphicImage url="/images/save_48.png" />
</o:commandLink>

但我也在尝试 o:ajax

<o:commandLink value="Save" action="#{beanX.save}">
  <h:graphicImage url="/images/save_48.png" />
  <o:ajax event="click" render="@none" />
</o:commandLink>

有什么想法吗?


我找到了一种使用标准 JSF 组件的方法。有什么想法可以使用 o:commandLink 解决此问题吗?

I am trying to invoke a Save method in a bean with Openfaces 3. While Firefox is not rendering the page, Internet Explorer does.

I'm currently using this code lines:

<o:commandLink value="Save" action="#{beanX.save}">
  <h:graphicImage url="/images/save_48.png" />
</o:commandLink>

but I was trying o:ajax as well:

<o:commandLink value="Save" action="#{beanX.save}">
  <h:graphicImage url="/images/save_48.png" />
  <o:ajax event="click" render="@none" />
</o:commandLink>

Any ideas?


I've found a way to deal with using standard JSF components. Any ideas how to solve this issue with o:commandLink?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一曲琵琶半遮面シ 2024-11-16 13:22:25

您可以在 jsf2.0 中使用 render 属性

<h:form> 
      <h:inputText value="#{managedBean.val1}" > 
         <f:ajax event="keyup" render="result" listener="#{managedBean.someThingToDoListener}"/> 
      </h:inputText> 
      <h:inputText value="#{managedBean.val2}" > 
        <f:ajax event="keyup" render="result" listener="#{managedBean.someThingToDoListener}"/> 
      </h:inputText> 

      <h:outputText id="result" value="#{managedBean.result}"/>
</h:form>

@ManagedBean(name = "managedBean") 
public class Bean { 
   private String val1; // getter and setter 
   private String val2; // getter and setter 
   private String res; // getter and setter 
   ... 

   public void someThingToDoListener(AjaxBehaviorEvent event) { 
       //res = some processing
    }

}

另请参阅

You can use <f:ajax> and render attribute in jsf2.0

<h:form> 
      <h:inputText value="#{managedBean.val1}" > 
         <f:ajax event="keyup" render="result" listener="#{managedBean.someThingToDoListener}"/> 
      </h:inputText> 
      <h:inputText value="#{managedBean.val2}" > 
        <f:ajax event="keyup" render="result" listener="#{managedBean.someThingToDoListener}"/> 
      </h:inputText> 

      <h:outputText id="result" value="#{managedBean.result}"/>
</h:form>

@ManagedBean(name = "managedBean") 
public class Bean { 
   private String val1; // getter and setter 
   private String val2; // getter and setter 
   private String res; // getter and setter 
   ... 

   public void someThingToDoListener(AjaxBehaviorEvent event) { 
       //res = some processing
    }

}

Also See

迷雾森÷林ヴ 2024-11-16 13:22:25

谢谢吉加尔·乔希。你给了我关键的提示。它适用于以下代码行:

<h:commandLink value="Save">
  <h:graphicImage url="/images/save_48.png" />
  <f:ajax event="click" render="@none" listener="#{beanX.save}" />
</h:commandLink>

我以前访问过这个网站,我没有想到假设 o:commandLink 可能无法处理这个问题,可能是一个错误?

使用 h:commandLink 而不是 o:commandLinkf:ajax 以及侦听器属性解决了我的问题。

Thank you Jigar Joshi. You've given me the key hint. It works with this code lines:

<h:commandLink value="Save">
  <h:graphicImage url="/images/save_48.png" />
  <f:ajax event="click" render="@none" listener="#{beanX.save}" />
</h:commandLink>

I've been to this website before, I was not thinking in assuming that o:commandLink might not be able to handle this, might be a bug?

Using h:commandLink instead of o:commandLink and f:ajax with the listener attribute solved my problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文