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