我想使用一个p:对话框,其中包含一些commandbutton,但我不能从命令按钮调用我的bean,也不知道为什么。
在xhtml页面上有两个表单,第一个表单包含一些内容,如面板、panelgrids、按钮等。第二个表单只包含我的对话框。
我的beanHandler(beanHandler)是ViewAccessScoped。此xhtml页面上的所有内容都在工作,只有我的p:面板不工作
<?xml version="1.0" encoding="UTF-8"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:m="http://java.sun.com/jsf/composite/components/mmnet">
<h:form id="activityForm">
<p:panel >
...
...
<f:facet name="footer">
...
<p:commandButton id="readyButton"
action="#{beanHandler.toggleStatus()}"
rendered="#{beanHandler.ready}"
value="#{labels.erledigt}"
icon="ui-icon-check"
update="@form :dialogForm"
onclick="dlg.show()">
<p:tooltip for="readyButton" style="width:300px;">
<h:outputText value="#{messages.adviceWfEventActivityFinish}" />
</p:tooltip>
</p:commandButton>
</f:facet>
</p:panel>
</h:form>
<h:form id="dialogForm">
<p:outputPanel id="justAPanel">
<p:dialog header="Ticket schließen?" widgetVar="dlg" resizable="false" appendToBody="true" rendered="#{beanHandler.lastActivity}" id="dlg">
<h:panelGrid columns="2" style="margin-bottom:10px">
<h:outputLabel value="Soll das Ticket geschlossen werden?" />
<p:spacer />
<p:commandButton id="yesButton"
value="#{labels.ja}" update=":workflowContentPanel"
onclick="dlg.hide()"
action="#{beanHandler.closeTicket()}" process="@form"/>
<p:commandButton id="noButton" value="#{labels.nein}" update=":workflowContentPanel" onclick="dlg.hide()"/>
</h:panelGrid>
</p:dialog>
</p:outputPanel>
</h:form>
</ui:composition>
如果我使用如上所示的页面,则按钮单击上不会出现p:面板。如果我改变这部分代码
<p:dialog header="Ticket schließen?" widgetVar="dlg" resizable="false" appendToBody="true" rendered="#{beanHandler.lastActivity}" id="dlg">
到
<p:dialog header="Ticket schließen?" widgetVar="dlg" resizable="false" appendToBody="true" rendered="true" id="dlg">
(将呈现的属性更改为true)显示了对话框,但我的按钮不起作用(不可能调用bean)。如果我不知道为什么会这样。
有人有主意吗?
当做
使用属性appendTobody
,您可以将实际对话框直接附加到body
-元素。通过它,它不再处于表单中。如果周围没有表单,就不可能进行Bean调用。可能的解决方案:
希望对你有帮助。。。
我面临commandButton的问题,它只有在类型为submit时才起作用。有没有人可以看一下,让我知道是否有解决办法?下面的代码非常简单,并有足够的建议来说明我需要什么。方法test()未执行。方法runSubmit已成功执行。 我需要测试方法在没有提交的情况下执行,因为原始页面确实在提交期间执行了验证,test()方法必须在没有提交的情况下执行,因为这是提交之前的一个初步操作。 我正在使用P
描述 (Description) 字符类[\p{L}&&[^\p{Lu}]]匹配除大写字母之外的任何字符。 例子 (Example) 以下示例显示了Unicode字符类匹配的用法。 package com.wenjiangs; import java.util.regex.Matcher; import java.util.regex.Pattern; public class UnicodeCh
P is for peer-to-peer networking with browsers P is a small framework used to create browser-to-browser networks (as opposed to just a connection). With P, you can: Connect to other browsers using a s
P* (P-star)是一种网站编程语言,其中包括了常用的任务像模板处理以及数据查询。它突出的特性有用预处理语句来访问MySQL数据库;HTML模板;标准的计数,变量,函数和结构;JSON输出,GET和POST。
我有一个JFrame调用一个新的JDialog,这个JDialog有一个关闭它的按钮。 当JDialog关闭时,JFrame应该重新绘制。但是当我用按钮关闭JDialog时,什么也不会发生,当我用经典的“X”按钮关闭时,就不会发生这种情况。 这是来自JFrame的windowListener: 这里是JDialog中关闭JDialog的按钮的代码: 就像我说的,监听器中的JFrame需要在JDia
此对话框允许在运行中切换“结束时”选项而不中断压缩压缩、解压或测试操作,以便您能在操作完成后关闭 PC 电源,休眠,睡眠或重启。 对于压缩操作,在这里可以改变压缩方式,但是 WinRAR 不能在此对话框转换到"存储"模式。