本文介绍了在JSF中发出发布请求时,如何将inputText发送到Bean?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的约束是我的JSF + Primefaces页面必须以纯HTML格式包含发布请求:

The constraint I have is that my JSF + Primefaces page must include a post request in straight html:

<form id="checkout" method="post" action="/checkout">
  <div id="payment-form"></div>
  <input type="submit" value="Pay $10">
</form>

我不能碰它.

在同一页面上,我有一个inputText,用户将在其中放置其电子邮件地址:<p:inputText value="#{bean.emailAddress}"/>

On the same page, I have an inputText where the user will put their email address:<p:inputText value="#{bean.emailAddress}"/>

当单击<form>中的按钮以进行发布请求时,我也希望将inputText提交并发送到服务器上的bean.我怎样才能做到这一点?仅在<form></form>标记中包含<p:inputText value="#{bean.emailAddress}"/>似乎无效.

When the button in the <form> is clicked for the post request, I'd like to have the inputText submitted as well and sent to a bean on my server. How could I achieve that? Just including <p:inputText value="#{bean.emailAddress}"/> inside the <form></form> tag seems not to work.

推荐答案

将JavaScript事件监听器挂接到该表单,该触发器触发<p:remoteCommand>处理至少感兴趣的<p:inputText>.

Hook a JavaScript event listener to that form which triggers a <p:remoteCommand> processing at least the <p:inputText> of interest.

在使用PrimeFaces时,您将拥有jQuery.因此,应该这样做:

As you're using PrimeFaces, you'll have jQuery at hands. So, this should do:

<form id="checkout" ...>
    ...
</form>

<h:form>
    <p:inputText ... />
    <p:remoteCommand name="checkout" process="@form" action="#{bean.checkout}" />
</h:form>
$(document).on("submit", "#checkout", function() {
    checkout();
});

这篇关于在JSF中发出发布请求时,如何将inputText发送到Bean?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-12 05:17