Hi,
I use a GridView in a facelet based layout. Without ig:gridActivation the application works.
Inserting ig:gridActivation tag results in a exception:
com.sun.facelets.tag.TagException: /pages/start.xhtml @49,32 <ig:gridActivation> Tag Library supports namespace: http://ko.infragistics.com/faces/netadvantage, but no tag was defined for name: gridActivation at com.sun.facelets.compiler.CompilationManager.pushTag(CompilationManager.java:193) at com.sun.facelets.compiler.SAXCompiler$CompilationHandler.startElement(SAXCompiler.java:194) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source) at javax.xml.parsers.SAXParser.parse(Unknown Source) at com.sun.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:232) at com.sun.facelets.compiler.Compiler.compile(Compiler.java:104) at com.sun.facelets.impl.DefaultFaceletFactory.createFacelet(DefaultFaceletFactory.java:192) at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFaceletFactory.java:141) at com.sun.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFaceletFactory.java:93) at com.sun.facelets.FaceletViewHandler.buildView(FaceletViewHandler.java:503) at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:553) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:243) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478) at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:308) at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:518) at com.ibm._jsp._index._jspService(_index.java:66) at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:85) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478) at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463) at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:115) at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:168) at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744) at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394) at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213) at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)
Used facelet code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <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:c="http://java.sun.com/jstl/core" xmlns:fmt="http://java.sun.com/jstl/fmt" xmlns:acegijsf="http://sourceforge.net/projects/jsf-comp/acegijsf" xmlns:t="http://myfaces.apache.org/tomahawk" xmlns:ig="http://ko.infragistics.com/faces/netadvantage"> <ui:composition template="/templates/common.xhtml"> <ui:define name="IdeenVerwaltung"> <h:panelGrid columns="2"> <h:outputText value="Anzahl Root Items" /> <ig:inputDecimal id="RootItemsCount" value="0" /> <h:outputText value="Anzahl der Items per Ebene" /> <ig:inputDecimal id="RootItemsCountPerLayer" value="0" /> <h:outputText value="Anzahl der SubItems" /> <ig:inputDecimal id="SubItemsCount" value="0" /> </h:panelGrid> </ui:define> <ui:define name="SearchFilter"> <h:panelGrid columns="1"> <h:outputText value="Suche" /> <ig:inputRegularExpression id="searchInput" value="suche"/> <h:outputText value="Filter" /> <ig:dropDownList dataSource="#{proposalListFilter.filterEntries}" id="ProposalFilter" /> </h:panelGrid> </ui:define> <ui:define name="Vorschlag"> <ig:gridView dataSource="#{proposalListBean.proposalList}" pageSize="5" resizableColumns="true" sortingMode="multi"> <ig:columnSelectRow/> <ig:gridActivation/> <ig:column resizable="true" sortBy="generalState" > <f:facet name="header"> <h:outputText value="State" /> </f:facet> <h:graphicImage url="images/#{DATA_ROW.generalState}.gif" /> </ig:column> <ig:column resizable="true" sortBy="proposalID" > <f:facet name="header"> <h:outputText value="ID" /> </f:facet> <h:outputText value="#{DATA_ROW.proposalID}" /> </ig:column> <ig:column resizable="true" sortBy="name" > <f:facet name="header"> <h:outputText value="Name" /> </f:facet> <h:outputText value="#{DATA_ROW.name}" /> </ig:column> <ig:column resizable="true" sortBy="subject" > <f:facet name="header"> <h:outputText value="Subject" /> </f:facet> <h:outputText value="#{DATA_ROW.subject}" /> </ig:column> <ig:column resizable="true" sortBy="type"> <f:facet name="header"> <h:outputText value="Type" /> </f:facet> <h:graphicImage url="images/#{DATA_ROW.type}.gif" /> </ig:column> </ig:gridView> </ui:define> <ui:define name="DetailArea"> </ui:define> </ui:composition></html>
I build the facelet based application using your facelet example. This include also the netAdvantage.facelet.taglib.xml file
with the content:
<?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE facelet-taglib PUBLIC "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN" "http://java.sun.com/dtd/facelet-taglib_1_0.dtd"><facelet-taglib> <namespace>http://ko.infragistics.com/faces/netadvantage</namespace> <tag> <tag-name>checkBoxList</tag-name> <component> <component-type>com.infragistics.faces.input.HtmlCheckBoxList</component-type> <renderer-type>com.infragistics.faces.input.CheckBoxListRenderer</renderer-type> </component> </tag> <tag> <tag-name>checkBox</tag-name> <component> <component-type>com.infragistics.faces.input.HtmlCheckBox</component-type> <renderer-type>com.infragistics.faces.input.CheckBoxRenderer</renderer-type> </component> </tag> <tag> <tag-name>columnSelectRow</tag-name> <component> <component-type>com.infragistics.faces.grid.HtmlColumnSelectRow</component-type> <renderer-type>com.infragistics.faces.grid.ColumnSelectRowRenderer</renderer-type> </component> </tag> <tag> <tag-name>column</tag-name> <component> <component-type>com.infragistics.faces.grid.HtmlColumn</component-type> </component> </tag> <tag> <tag-name>dateChooser</tag-name> <component> <component-type>com.infragistics.faces.input.HtmlDateChooser</component-type> <renderer-type>com.infragistics.faces.input.DateChooserRenderer</renderer-type> </component> </tag> <tag> <tag-name>dropDownList</tag-name> <component> <component-type>com.infragistics.faces.input.HtmlDropDownList</component-type> <renderer-type>com.infragistics.faces.input.DropDownListRenderer</renderer-type> </component> </tag> <tag> <tag-name>gridView</tag-name> <component> <component-type>com.infragistics.faces.grid.HtmlGridView</component-type> <renderer-type>com.infragistics.faces.grid.GridViewRenderer</renderer-type> </component> </tag> <tag> <tag-name>inputCurrency</tag-name> <component> <component-type>com.infragistics.faces.input.HtmlInputCurrency</component-type> <renderer-type>com.infragistics.faces.input.InputNumberRenderer</renderer-type> </component> </tag> <tag> <tag-name>inputDecimal</tag-name> <component> <component-type>com.infragistics.faces.input.HtmlInputDecimal</component-type> <renderer-type>com.infragistics.faces.input.InputNumberRenderer</renderer-type> </component> </tag> <tag> <tag-name>inputEmail</tag-name> <component> <component-type>com.infragistics.faces.input.HtmlInputEmail</component-type> <renderer-type>com.infragistics.faces.input.InputEmailRenderer</renderer-type> </component> </tag> <tag> <tag-name>inputPercent</tag-name> <component> <component-type>com.infragistics.faces.input.HtmlInputPercent</component-type> <renderer-type>com.infragistics.faces.input.InputNumberRenderer</renderer-type> </component> </tag> <tag> <tag-name>inputRegularExpression</tag-name> <component> <component-type>com.infragistics.faces.input.HtmlInputRegularExpression</component-type> <renderer-type>com.infragistics.faces.input.InputRegularExpressionRenderer</renderer-type> </component> </tag> <tag> <tag-name>link</tag-name> <component> <component-type>com.infragistics.faces.shared.HtmlLink</component-type> <renderer-type>com.infragistics.faces.shared.LinkRenderer</renderer-type> </component> </tag> <tag> <tag-name>menuItemCheckmark</tag-name> <component> <component-type>com.infragistics.faces.menu.HtmlMenuItemCheckmark</component-type> <renderer-type>com.infragistics.faces.menu.MenuItemCheckmarkRenderer</renderer-type> </component> </tag> <tag> <tag-name>menuItemSeparator</tag-name> <component> <component-type>com.infragistics.faces.menu.HtmlMenuItemSeparator</component-type> <renderer-type>com.infragistics.faces.menu.MenuItemSeparatorRenderer</renderer-type> </component> </tag> <tag> <tag-name>menuItem</tag-name> <component> <component-type>com.infragistics.faces.menu.HtmlMenuItem</component-type> <renderer-type>com.infragistics.faces.menu.MenuItemRenderer</renderer-type> </component> </tag> <tag> <tag-name>menu</tag-name> <component> <component-type>com.infragistics.faces.menu.HtmlMenu</component-type> <renderer-type>com.infragistics.faces.menu.MenuRenderer</renderer-type> </component> </tag> <tag> <tag-name>pager</tag-name> <component> <component-type>com.infragistics.faces.shared.HtmlPager</component-type> <renderer-type>com.infragistics.faces.shared.PagerRenderer</renderer-type> </component> </tag> <tag> <tag-name>radioButtonList</tag-name> <component> <component-type>com.infragistics.faces.input.HtmlRadioButtonList</component-type> <renderer-type>com.infragistics.faces.input.RadioButtonListRenderer</renderer-type> </component> </tag> <tag> <tag-name>radioButton</tag-name> <component> <component-type>com.infragistics.faces.input.HtmlRadioButton</component-type> <renderer-type>com.infragistics.faces.input.RadioButtonRenderer</renderer-type> </component> </tag> <tag> <tag-name>sidebarGroup</tag-name> <component> <component-type>com.infragistics.faces.bar.HtmlSidebarGroup</component-type> <renderer-type>com.infragistics.faces.bar.SidebarGroupRenderer</renderer-type> </component> </tag> <tag> <tag-name>sidebar</tag-name> <component> <component-type>com.infragistics.faces.bar.HtmlSidebar</component-type> <renderer-type>com.infragistics.faces.bar.SidebarRenderer</renderer-type> </component> </tag> <tag> <tag-name>stackbarGroup</tag-name> <component> <component-type>com.infragistics.faces.bar.HtmlStackbarGroup</component-type> <renderer-type>com.infragistics.faces.bar.StackbarGroupRenderer</renderer-type> </component> </tag> <tag> <tag-name>stackbar</tag-name> <component> <component-type>com.infragistics.faces.bar.HtmlStackbar</component-type> <renderer-type>com.infragistics.faces.bar.StackbarRenderer</renderer-type> </component> </tag> <tag> <tag-name>tabItem</tag-name> <component> <component-type>com.infragistics.faces.tab.HtmlTabItem</component-type> <renderer-type>com.infragistics.faces.tab.TabItemRenderer</renderer-type> </component> </tag> <tag> <tag-name>tabView</tag-name> <component> <component-type>com.infragistics.faces.tab.HtmlTabView</component-type> <renderer-type>com.infragistics.faces.tab.TabViewRenderer</renderer-type> </component> </tag> <tag> <tag-name>treeNode</tag-name> <component> <component-type>com.infragistics.faces.tree.HtmlTreeNode</component-type> <renderer-type>com.infragistics.faces.tree.TreeNodeRenderer</renderer-type> </component> </tag> <tag> <tag-name>treeView</tag-name> <component> <component-type>com.infragistics.faces.tree.HtmlTreeView</component-type> <renderer-type>com.infragistics.faces.tree.TreeViewRenderer</renderer-type> </component> </tag></facelet-taglib>
Some thing is wrong with the configuration. The <ig:gridActivation/> tag could not be found.
What I have to do to fix this problem ?
Best Regards
Andreas
HI:
Thanks for the thorough explanation of your problem! This is always helpful. Is it possible that the JARs you are using are from a version of NetAdvantage prior to version 8.2? Grid activation was introduced in 8.2 so this is the most likely answer. If not please post the exact version here, and we'll investigate further.
Thanks,Jim