Illegal start of expression
I am getting "Illegal Start of Expression" apparently at the beginning of each "=fomat" line. I admit I know nothing about Java, but I am a programmer so the code I have below seems logical to me...
Please ask any questions, or let me know if you need more code. Help!!! :)
Thank You
Larry
This is the original code that works:
while (rs.next())
{
%>
<TR>
<%
for (int j = 1; j <= columnCount; j++)
{
%>
<TD> <% =format.getFormattedColumn(rs.getString(j), rsMeta.getColumnType(j), rsMeta.getColumnName(j), request.getParameter("optContentType")) ;%> </TD> <%
}
%>
</TR>
<%
}
This is the code after my changes:
String fname = " " ;
while (rs.next())
{
%>
<TR>
<%
for (int j = 1; j <= columnCount; j++)
{
fname = rsMeta.getColumnName(j).toUpperCase() ;
%>
<TD>
<%
if (fname.endsWith("_D"))
=format.getFormattedColumn(rs.getString(j), Types.DATE, rsMeta.getColumnName(j), request.getParameter("optContentType")) ;
else
=format.getFormattedColumn(rs.getString(j), rsMeta.getColumnType(j), rsMeta.getColumnName(j), request.getParameter("optContentType")) ;
%>
</TD>
<%
}
%>
</TR>
<%
}
When you start a JSP tag with <%, it is supposed to contain valid scriptlet (i.e. valid Java code.)
There is another tag, starting with <%=, which shall contain a valid Java expression.
Therefore<% =format.getFormattedColumn(rs.getString(j), rsMeta.getColumnType(j), rsMeta.getColumnName(j), request.getParameter("optContentType")) ; %>
shall be<%= format.getFormattedColumn(rs.getString(j), rsMeta.getColumnType(j), rsMeta.getColumnName(j), request.getParameter("optContentType")) %>
And <%
if (fname.endsWith("_D"))
=format.getFormattedColumn(rs.getString(j), Types.DATE, rsMeta.getColumnName(j), request.getParameter("optContentType")) ;
else
=format.getFormattedColumn(rs.getString(j), rsMeta.getColumnType(j), rsMeta.getColumnName(j), request.getParameter("optContentType")) ;
%>
could be corrected by using a conditional operator ? ::<%= fname.endsWith("_D") ?
format.getFormattedColumn(rs.getString(j), Types.DATE, rsMeta.getColumnName(j), request.getParameter("optContentType")) :
format.getFormattedColumn(rs.getString(j), rsMeta.getColumnType(j), rsMeta.getColumnName(j), request.getParameter("optContentType")) ;
%>
or by using a valid mix of scriplet and expression:<%
if (fname.endsWith("_D")) {
%>
<%=format.getFormattedColumn(rs.getString(j), Types.DATE, rsMeta.getColumnName(j), request.getParameter("optContentType")) %>
<%
} else {
%>
<%= format.getFormattedColumn(rs.getString(j), rsMeta.getColumnType(j), rsMeta.getColumnName(j), request.getParameter("optContentType")) %>
<%
}
%>
[url=http://java.sun.com/products/jsp/syntax/1.2/card12.pdf]JSP quick reference card[/url]