我也阅读了 BalusC 的帖子(此处),但仍然无法从 dataGrid 进行 ajax 调用。是dataGrid不支持ajax调用吗?或者我错过了什么?
尝试了所有方法,该方法在 dataGrid 之外被击中,所以我假设与 dataGrid 有什么关系..?首先我的页面被包含在一个模板中,我删除了它,仍然没有运气。
我的jsf:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Order select</title>
</h:head>
<h:body>
<p:layout style="min-width:400px;min-height:400px;" id="layout">
<p:layoutUnit id="rightLayout" position="east" size="100" minSize="200" maxSize="200">
right
</p:layoutUnit>
<p:layoutUnit position="center" >
<h:form id="imgForm" style="text-align: center">
<p:dataGrid var="img"
value="#{orderBean.userMedia.mediaList}"
columns="4"
rows="16"
paginator="true"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}"
rowsPerPageTemplate="9,12,15">
<p:panel>
<p:commandLink actionListener="#{orderBean.selectImage}" update="@form">
<p:graphicImage value="#{img.thumbNail.getString('url')}"/>
</p:commandLink>
</p:panel>
</p:dataGrid>
</h:form>
</p:layoutUnit>
</p:layout>
</h:body>
</html>
我的托管 bean(viewScoped) 方法:
public void selectImage()
{
String methodName = "selectImage()";
log.info("Entering :"+methodName);
}
我正在使用: primefaces:3.3.1(tomcat 7 + Java 1.6)