You are viewing a plain text version of this content. The canonical link for it is here.
Posted to taglibs-user@tomcat.apache.org by Ferindo Middleton <fe...@gmail.com> on 2010/09/03 05:32:28 UTC
[email] Dynamic attachments in mailer taglib 2 using JavaBean
I've written a javabean that connects to a database, downloads a file,
and one of the getter methods returns the complete file path to the
file.
The problem I have is: when the JSP runs and gets to the part where it
gets the file path to pass to the taglib, I get an error message that
is typical of a reference to a nonstatic variable. This concerns me as
I thout getter methods in javabeans would inherently returns values
that are valid instance variables in a JSP.
I will paste my getter method below, the JSP call to that method and
the error message below: any guidance is welcome. Thank you:
Getter method in jsvabean (javabean compiles fine):
public String getTempFilePath() {
this.downloadedfilename=tempFilePath;
return this.downloadedfilename;
}
JSP call to getter method above:
<jsp:useBean id="getFilePath" scope="request"
class="hall.RadTicketsFileDownloadForEmailAttachmentBean">
<jsp:setProperty name="getFilePath"
property="fileId"
value="${all_attachments_for_this_ticket_row.id}" />
<jsp:setProperty name="getFilePath"
property="originalFileName"
value="${all_attachments_for_this_ticket_row.attachment_name}" />
<c:forEach items="${all_attachments_for_this_ticket.rows}"
var="all_attachments_for_this_ticket_row">
<%-- /RadTicketsFileDownloadForEmailAttachment?attachmentId=${
all_attachments_for_this_ticket_row.id}&fileName=${all_attachments_for_this_ticket_row.attachment_name}
--%>
<mt:attach type="application/octet-stream"
name="${all_attachments_for_this_ticket_row.attachment_name}"
filename="<%=
RadTicketsFileDownloadForEmailAttachmentBean.getTempFilePath() %>" />
</c:forEach>
</jsp:useBean>
... And the error message:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 97 in the jsp file:
/web/radtickets/ticket_email_response/ticket_email_response_dispatcher_page.jsp
Cannot make a static reference to the non-static method
getTempFilePath() from the type
RadTicketsFileDownloadForEmailAttachmentBean
94:
95:
96: <%-- /RadTicketsFileDownloadForEmailAttachment?attachmentId=${all_attachments_for_this_ticket_row.id}&fileName=${all_attachments_for_this_ticket_row.attachment_name}
--%>
97: <mt:attach type="application/octet-stream"
98: name="${all_attachments_for_this_ticket_row.attachment_name}"
99: filename="<%=
RadTicketsFileDownloadForEmailAttachmentBean.getTempFilePath() %>" />
100:
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
Ferindo
Re: [email] Dynamic attachments in mailer taglib 2 using JavaBean
Posted by Jeremy Boynes <jb...@apache.org>.
This is a static reference to the method:
> filename="<%= RadTicketsFileDownloadForEmailAttachmentBean.getTempFilePath() %>" />
and will lead to that compiler error.
How about
filename="${getFilePath.tempFilePath}"
On Sep 2, 2010, at 8:32 PM, Ferindo Middleton wrote:
> I've written a javabean that connects to a database, downloads a file,
> and one of the getter methods returns the complete file path to the
> file.
>
> The problem I have is: when the JSP runs and gets to the part where it
> gets the file path to pass to the taglib, I get an error message that
> is typical of a reference to a nonstatic variable. This concerns me as
> I thout getter methods in javabeans would inherently returns values
> that are valid instance variables in a JSP.
>
> I will paste my getter method below, the JSP call to that method and
> the error message below: any guidance is welcome. Thank you:
>
> Getter method in jsvabean (javabean compiles fine):
>
> public String getTempFilePath() {
> this.downloadedfilename=tempFilePath;
> return this.downloadedfilename;
> }
>
> JSP call to getter method above:
>
> <jsp:useBean id="getFilePath" scope="request"
> class="hall.RadTicketsFileDownloadForEmailAttachmentBean">
> <jsp:setProperty name="getFilePath"
> property="fileId"
> value="${all_attachments_for_this_ticket_row.id}" />
>
> <jsp:setProperty name="getFilePath"
> property="originalFileName"
> value="${all_attachments_for_this_ticket_row.attachment_name}" />
>
> <c:forEach items="${all_attachments_for_this_ticket.rows}"
> var="all_attachments_for_this_ticket_row">
>
>
>
> <%-- /RadTicketsFileDownloadForEmailAttachment?attachmentId=${
> all_attachments_for_this_ticket_row.id}&fileName=${all_attachments_for_this_ticket_row.attachment_name}
> --%>
> <mt:attach type="application/octet-stream"
> name="${all_attachments_for_this_ticket_row.attachment_name}"
> filename="<%=
> RadTicketsFileDownloadForEmailAttachmentBean.getTempFilePath() %>" />
>
>
> </c:forEach>
> </jsp:useBean>
>
>
>
> ... And the error message:
>
> org.apache.jasper.JasperException: Unable to compile class for JSP:
>
> An error occurred at line: 97 in the jsp file:
> /web/radtickets/ticket_email_response/ticket_email_response_dispatcher_page.jsp
> Cannot make a static reference to the non-static method
> getTempFilePath() from the type
> RadTicketsFileDownloadForEmailAttachmentBean
> 94:
> 95:
> 96: <%-- /RadTicketsFileDownloadForEmailAttachment?attachmentId=${all_attachments_for_this_ticket_row.id}&fileName=${all_attachments_for_this_ticket_row.attachment_name}
> --%>
> 97: <mt:attach type="application/octet-stream"
> 98: name="${all_attachments_for_this_ticket_row.attachment_name}"
> 99: filename="<%=
> RadTicketsFileDownloadForEmailAttachmentBean.getTempFilePath() %>" />
> 100:
>
>
> Stacktrace:
> org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92)
> org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
> org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439)
> org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
> org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
> org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:589)
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>
>
>
>
> Ferindo
---------------------------------------------------------------------
To unsubscribe, e-mail: taglibs-user-unsubscribe@tomcat.apache.org
For additional commands, e-mail: taglibs-user-help@tomcat.apache.org