JSF在p:datatable上面向ajax
我正在为我的UI使用JSF Primefaces。我对p:datatable上的ajax有一个特定的要求。这是我的项目的示例页面:JSF在p:datatable上面向ajax,ajax,jsf,primefaces,Ajax,Jsf,Primefaces,我正在为我的UI使用JSF Primefaces。我对p:datatable上的ajax有一个特定的要求。这是我的项目的示例页面: <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <ui:compositio
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<ui:composition
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:fn="http://java.sun.com/jsp/jstl/functions"
xmlns:comp="http://java.sun.com/jsf/composite/components/">
<ui:define name="content">
<h:form id="form1">
<p:growl id="messages" showDetail="false" />
<p:panel header="Available Rows" style="width: 15%;">
<p:dataTable id="table" value="#{rowBean.rows}" var="row"
widgetVar="50" style="width: 60px;" editable="true">
<p:ajax event="rowEdit" listener="#{rowBean.onEdit}"
update="form1:messages" />
<p:ajax event="rowEditCancel" listener="#{rowBean.onCancel}"
update=":form1:messages" />
<p:column>
<f:facet name="header">
<h:outputText value="Row ID" />
</f:facet>
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{row.id}" />
</f:facet>
<f:facet name="input">
<p:inputText value="#{row.id}"
style="width:100%" label="Row ID">
</p:inputText>
</f:facet>
</p:cellEditor>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="Row Value" />
</f:facet>
<p:cellEditor>
<f:facet name="output">
<h:outputText value="#{row.value}" />
</f:facet>
<f:facet name="input">
<p:inputText disabled="true" value="#{row.value}"
style="width:100%" label="Row Value">
</p:inputText>
</f:facet>
</p:cellEditor>
</p:column>
<p:column style="width:6%">
<p:rowEditor />
</p:column>
</p:dataTable>
</p:panel>
<p:spacer height="5px;"/>
<p:panel id="createPanel" header="Create Row" closable="false" toggleable="true"
collapsed="true" style="width: 15%;">
<p:panelGrid columns="6">
<h:outputLabel for="rowBean" value="Row ID" />
<p:inputText value="#{rowBean.row.id}"
required="true" label="Row ID" style="width:125px" />
<h:outputLabel for="rowBean" value="Row Value" />
<p:inputText value="#{rowBean.row.value}"
required="true" label="Row Value" style="width:125px" />
<f:facet name="footer">
<p:commandButton value="Create" action="#{rowBean.createRow}"
update=":form1" />
</f:facet>
</p:panelGrid>
</p:panel>
</h:form>
</ui:define>
</ui:composition>
这里有一个数据表,列出了创建的所有行。每行都有id和值。值是可编辑的。表单中还有一个创建新行的面板。backingbean使用@PostConstruct预填充所有创建的行。支持bean有其他的方法来编辑、取消和创建。本页正在运行,下面给出的是新的要求
在某些情况下,可能存在与每行相关联的错误。如果有一行附加了错误,则需要像更新链接一样更新值文本。单击链接时,需要将行ID和参数传递给backingbean。通过这些参数,backingbean获取错误详细信息并将其传递给页面。然后,需要在弹出窗口中显示错误消息
你能告诉我怎么做吗?也许是这样吧
<f:facet name="output">
<h:outputText value="#{row.value}" rendered="#{!row.hasError}" />
<h:commandLink value="#{row.value}" rendered="#{row.hasError}" command="#{row.command(parameters..)}" />
</f:facet>
可能是这样吗
<f:facet name="output">
<h:outputText value="#{row.value}" rendered="#{!row.hasError}" />
<h:commandLink value="#{row.value}" rendered="#{row.hasError}" command="#{row.command(parameters..)}" />
</f:facet>
可能是这样吗
<f:facet name="output">
<h:outputText value="#{row.value}" rendered="#{!row.hasError}" />
<h:commandLink value="#{row.value}" rendered="#{row.hasError}" command="#{row.command(parameters..)}" />
</f:facet>
可能是这样吗
<f:facet name="output">
<h:outputText value="#{row.value}" rendered="#{!row.hasError}" />
<h:commandLink value="#{row.value}" rendered="#{row.hasError}" command="#{row.command(parameters..)}" />
</f:facet>
在XHTML端:
<p:messages id="messages" showDetail="true" autoUpdate="true" closable="true" />
PD:这是我的第一个答案,我已经习惯了帖子选项,如果你没有正确地看到我的消息,我很抱歉;) 在XHTML端:
<p:messages id="messages" showDetail="true" autoUpdate="true" closable="true" />
PD:这是我的第一个答案,我已经习惯了帖子选项,如果你没有正确地看到我的消息,我很抱歉;) 在XHTML端:
<p:messages id="messages" showDetail="true" autoUpdate="true" closable="true" />
PD:这是我的第一个答案,我已经习惯了帖子选项,如果你没有正确地看到我的消息,我很抱歉;) 在XHTML端:
<p:messages id="messages" showDetail="true" autoUpdate="true" closable="true" />
PD:这是我的第一个答案,我已经习惯了帖子选项,如果你没有正确地看到我的消息,我很抱歉;) 你能想到使用
、
或
吗?你能想到使用
、
或
吗?你能想到使用
、
或
吗?你能想到使用
、
或
吗?