加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

jsf – 从命令按钮调用另一个表单

发布时间:2020-12-14 21:18:24 所属栏目:资源 来源:网络整理
导读:当我提交表单时,它应该调用另一个表单,以便我可以呈现它.我使用primefaces,我想让它像下面这样工作.但这是一个错误. XHTML h:form id="from1"h:inputText=......h:outputText=....p:commandButton id="submit" actionlistener="#{bean.method}" value="submi
当我提交表单时,它应该调用另一个表单,以便我可以呈现它.我使用primefaces,我想让它像下面这样工作.但这是一个错误.

XHTML

<h:form id="from1">
<h:inputText=......
<h:outputText=....
<p:commandButton id="submit" actionlistener="#{bean.method}" value="submit" process="form2"/>

<h:form id="form2">
<h:outoutText value="it is working" render="#{bean.boolean}" />
</h:form>

错误

[Faces Servlet]] (http--127.0.0.1-8080-2) Servlet.service() for servlet Faces Servlet threw exception: javax.faces.FacesException: Cannot find component with identifier "form2" referenced from "form1_submit".

更新

<h:form id="from1">
    <h:inputText=......
    <h:outputText=....
    <p:commandButton id="submit" actionlistener="#{bean.method}" value="submit" update=":form1"/>
</h:form>

解决方法

有两个错误:

>相对组件客户端ID与最近的父UINamingContainer组件相关(在您的情况下,因此< h:form id =“form1”>).客户端ID“form2”不存在于“form1”的上下文中的任何位置.您需要使用绝对客户端ID,前缀为命名容器分隔符,默认为:.这将从视图根目录中搜索组件.

process=":form2"

>您无法通过提交一个表单来处理另一个表单.您需要处理的所有字段都没有提交(请注意,这不是JSF限制,而是HTML限制).只需将您需要处理的字段以您需要提交的相同形式包含在内.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读