With the following jspx code
<jsp:root jsfc="f:view" xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ice="http://www.icesoft.com/icefaces/components"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:fn="http://java.sun.com/jsp/jstl/functions">
<ui:composition template="WEB-INF/includes/template/main-template.jspx"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:ice="http://www.icesoft.com/icefaces/components"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:m="http://www.tag.com/jsf">
<!-- params for page titles-->
<ui:define name="content">
<ice:form id="iceForm" partialSubmit="true">
<ice:panelGroup styleClass="error">
<ice:messages id="error" />
</ice:panelGroup>
<ice:panelGroup styleClass="progress"
rendered="#{login.inProgress and exportselection.renderView}">
<ice:panelGroup style="margin-top: 3px">
<ice:outputProgress id="buildView" labelPosition="embed"
labelComplete="completed" indeterminate="false"
rendered="#{login.inProgress and exportselection.renderView}"
value="#{exportselection.progressStatus}" />
<ice:panelGroup styleClass="cellTopRight">
<ice:panelGrid columns="2" cellspacing="10">
<ice:commandButton value="#{msgs['xliff.button.cancel1']}"
id="resetbutton" action="export"
rendered="#{login.inProgress and exportselection.renderView}"
actionListener="#{exportselection.cancel}" />
<ice:commandButton value="#{msgs['xliff.button.next']}"
id="nextger1"
rendered="#{login.inProgress and exportselection.renderView}"
action="#{exportselection.forward}"
disabled="#{login.inProgress}"
actionListener="#{exportselection.showExportView}" />
</ice:panelGrid>
</ice:panelGroup>
</ice:panelGroup>
</ice:panelGroup>
<ice:panelGrid styleClass="datapaging"
rendered="#{!exportselection.renderView}">
<ice:dataTable id="texts" var="text"
value="#{generatexliff.showTexts}" scrollable="true"
scrollHeight="300px" styleClass="dataPaginatorDataTable"
columnWidths="300px,200px,200px,100px">
<!-- ice:column>
<f:facet name="header">
<ice:outputText id="column1"
value="#{msgs['export.view.date']}"/>
</f:facet>
<ice:outputText id="date"
value="#{text.showDate}"/>
</ice:column-->
<ice:column>
<f:facet name="header">
<ice:outputText id="column2" value="#{msgs['export.view.text']}" />
</f:facet>
<ice:outputText id="content" value="#{text.text}" />
</ice:column>
<ice:column>
<f:facet name="header">
<ice:outputText id="column3"
value="#{msgs['export.view.master']}" />
</f:facet>
<ice:outputText id="master" value="#{text.appearInString}" />
</ice:column>
<ice:column>
<f:facet name="header">
<ice:outputText id="column4"
value="#{msgs['export.view.comment']}" />
</f:facet>
<ice:inputText id="comment" size="40"
value="#{text.transComment}" />
</ice:column>
<ice:column>
<f:facet name="header">
<ice:outputText id="column5"
value="#{msgs['export.view.export']}" />
</f:facet>
<ice:selectBooleanCheckbox id="select" value="#{text.selected}"
partialSubmit="true" />
</ice:column>
</ice:dataTable>
<ice:panelGrid columns="5" cellpadding="2px"
styleClass="datapaging">
<ice:commandButton id="first"
image="/images/css-images/arrow-first.gif"
actionListener="#{generatexliff.first}" />
<ice:commandButton id="previous"
image="/images/css-images/arrow-previous.gif"
actionListener="#{generatexliff.previous}" />
<ice:panelGroup>
<ice:outputText id="paging" value="Page" />
<ice:inputText id="currentPage" size="5"
value="#{generatexliff.currentPage}"
valueChangeListener="#{generatexliff.jump}" partialSubmit="true">
<f:validateLongRange></f:validateLongRange>
</ice:inputText>
<ice:outputText value=" of #{generatexliff.totalPage}" />
</ice:panelGroup>
<ice:commandButton id="next"
image="/images/css-images/arrow-next.gif"
actionListener="#{generatexliff.next}" />
<ice:commandButton id="last"
image="/images/css-images/arrow-last.gif"
actionListener="#{generatexliff.last}" />
</ice:panelGrid>
<ice:dataTable id="errorMessage" var="message" border="0"
value="#{generatexliff.messages}"
rendered="#{!exportselection.renderView and generatexliff.xliffAvailable}">
<ice:column>
<ice:outputText id="mess" styleClass="error" value="#{message}" />
</ice:column>
</ice:dataTable>
<ice:outputProgress id="export" labelPosition="embed"
labelComplete="completed" indeterminate="false"
value="#{generatexliff.progressStatus}"
rendered="#{!exportselection.renderView}" />
<ice:panelGrid columns="2" styleClass="xliffTopRight">
<ice:dataTable id="files" var="file"
value="#{generatexliff.xmlResources}" scrollable="true"
scrollHeight="100px"
rendered="#{!exportselection.renderView and generatexliff.xliffAvailable}"
styleClass="dataPaginatorDataTable" columnWidths="300px">
<ice:column>
<f:facet name="header">
<ice:outputText value="#{msgs['xliff.output.download']}" />
</f:facet>
<ice:outputResource id="imgRsource" resource="#{file.file}"
label="XLIFF - #{file.fileName}" fileName="#{file.fileName}"
attachment="true" shared="false" />
</ice:column>
</ice:dataTable>
<ice:panelGrid columns="2" styleClass="cellTopRight"
rendered="#{!exportselection.renderView}">
<ice:commandButton value="#{msgs['xliff.button.cancel']}"
id="exportcancel" disabled="#{!login.inProgress}"
actionListener="#{generatexliff.cancel}" />
<ice:commandButton value="#{msgs['xliff.button.generate']}"
id="exportXliff" disabled="#{login.inProgress}"
actionListener="#{generatexliff.generateXLIFF}" />
</ice:panelGrid>
</ice:panelGrid>
</ice:panelGrid>
</ice:form>
</ui:define>
</ui:composition>
</jsp:root>
Eclipse gives me the error
Missing start tag for "ice:column"
On the line
xmlns:fn="http://java.sun.com/jsp/jstl/functions">
Red-squiggly underlining n.com/jsp/jst
. What is happening there? How can I fix it? The project builds fine apart from that error...?
Edit: The project has the following facets:
I tried disabling the validation on JSF and re-enabling it again, but the error comes back as soon as I build again.
This is wrong
<!-- ice:column> <f:facet name="header"> <ice:outputText id="column1" value="#{msgs['export.view.date']}"/> </f:facet> <ice:outputText id="date" value="#{text.showDate}"/> </ice:column-->
Comment code is written as:
<!-- Comment here --> OR <!-- Comment over multiple lines -->
The error is correct, you have no opening tag for the ice:column. You start the comment line, but then you close it at the end of the first line because you never put in an opening < for the ice:column. So when it reaches the > at the end of the line, the program assumes that this is the closing tag for the comment line.
I believe that this would work to comment out code over multiple lines:
<!-- <ice:column> <f:facet name="header"> <ice:outputText id="column1" value="#{msgs['export.view.date']}"/> </f:facet> <ice:outputText id="date" value="#{text.showDate}"/> </ice:column> -->
I realise this is an old thread, but I thought I would add an answer in case anyone else stumbles across this.