Jsf p:dataTable中的p:commandLink不起作用
我正在使用PrimeFaces 5.2,并且在我的web应用程序中的某个位置。我正在显示一个对应于每一行的数据表。我提供了一个编辑链接(Jsf p:dataTable中的p:commandLink不起作用,jsf,jsf-2,primefaces,commandlink,Jsf,Jsf 2,Primefaces,Commandlink,我正在使用PrimeFaces 5.2,并且在我的web应用程序中的某个位置。我正在显示一个对应于每一行的数据表。我提供了一个编辑链接()来编辑下一页上相应实体的字段,但该链接根本不起作用。下面是XHTML内容 <p:dataTable id="tickets" var="ticket" value="#{ticketController.ticketModels}" paginator="true" rows="10" filteredValue="#{t
)来编辑下一页上相应实体的字段,但该链接根本不起作用。下面是XHTML内容
<p:dataTable id="tickets" var="ticket"
value="#{ticketController.ticketModels}" paginator="true" rows="10"
filteredValue="#{ticketController.filteredTickets}">
<p:column headerText="Ticket Id" sortBy="#{ticket.ticketId}">
<p:commandLink action="viewDetailedTicket">
<h:outputText value=" #{ticket.ticketId}"></h:outputText>
</p:commandLink>
</p:column>
<p:column headerText="Summary" filterBy="#{ticket.summary}"
filterMatchMode="contains" sortBy="#{ticket.summary}">
<h:outputText value="#{ticket.summary}" />
</p:column>
<p:column headerText="Priority">
<h:outputText value="#{ticket.priority}" />
</p:column>
.
...............................
</p:dataTable>
当我将鼠标悬停在链接上时,浏览器底部的工具提示将显示http://localhost:8080/JSF_1/view/viewTicket.xhtml#
,在当前页面URL的末尾追加一个“#”。单击时,它将保持在同一页面上。
我曾尝试将链接放在数据表之外,但也不起作用。commandLink或您希望使用JSF/primefaces执行的任何操作必须在表单内部。否则,无法执行HTTP Post。我建议对整个数据表使用一个表单。否则,多行将有很多表单。那是h:form中的datatable还是commandLink?不,是它的外部@GregDyes现在成功了,谢谢@GregD@AlokMishra那么请接受答案
@ManagedBean
public class TicketController {
@ManagedProperty(value = "#{ticketpojo}")
private Ticket ticket;
private TicketDao tDao;
private TicketModel ticketModel;
public TicketModel getTicketModel() {
return ticketModel;
}
public void setTicketModel(TicketModel ticketModel) {
this.ticketModel = ticketModel;
}
public TicketController() {
tDao = new TicketDao();
}
public String viewDetailedTicket() {
ticketModel = tDao.getTicket(ticketId);
return "viewDetailedTicket";
}
}