yes, if it fails to cast to itself, it means that the class of the object being casted was loaded by a different classloader. I will try to debug and see if for both my dummy apps it is using the same JspFactoryImpl, which in theory it should not, I think.
musachy On Tue, Oct 20, 2009 at 4:14 AM, Obinna <obi...@gmail.com> wrote: > An update... > > I've tried setting a breakpoint in the > JspApplicationContextImpl.getInstance() method and the > JspFactoryImpl().getJspApplicationContext() methods but for some reason > cannot inspect the variable at that point to figure out which classloader > are being called when. > > What is clear is that once an embeddedJsp is loaded, the default JspFactory > for ALL jsp pages (even non-embedded ones) becomes the > org.apache.struts2.jasper.runtime.JspFactoryImpl (even for a separate > web-app!) because loading subsequent non-embedded pages for the first time > (in either web-app) still hits and break in the > JspApplicationContextImpl.getInstance() method. It seems like using the > embeddedJsp calls JspFactory().setDefaultFactory() or something and that > this has a system-wide scope. > > I don't suppose that this would be a problem if it wasn't for some > classloader mix-up which means that when I then try to access an embeddedJsp > page in the second web-app, in the JspApplicationContextImpl.getInstance() > method it finds the JspApplicationContextImpl instance that was set during > the loading of some initial pages (such as login page) in this second app > but it seems that that must have been set by a different classloader because > the class cast fails when it tries to cast that instance (on the line > JspApplicationContextImpl impl = (JspApplicationContextImpl) > context.getAttribute(KEY)). > > I will continue to try to figure out how to inspect the variables (and see > the classloaders) in my IDE... > > - Eric > > > > On Sat, Oct 17, 2009 at 9:12 PM, Musachy Barroso <musa...@gmail.com> wrote: > >> nothing so obvious, JspApplicationContextImpl is obviously getting >> loaded by different classloaders, but I am out of ideas, I think you >> can set a break point for classloading right? Try to do that and see >> if you get any insight. >> >> musachy >> >> On Sat, Oct 17, 2009 at 2:57 AM, Obinna <obi...@gmail.com> wrote: >> > I have a ton of jars in my lib (but no el-api). The lib for that projects >> > looks as follows (both projects have similar libs): >> > >> > asterisk-java-1.0.jar >> > cglib-nodep-2.1_3.jar >> > chartengineapi.jar >> > com.ibm.icu_4.0.1.v20090415.jar >> > commons-beanutils-1.7.0.jar >> > commons-cli-1.0.jar >> > commons-codec-1.3.jar >> > commons-collections-3.2.1.jar >> > commons-dbcp.jar >> > commons-digester-1.8.jar >> > commons-fileupload-1.2.1.jar >> > commons-httpclient-3.1.jar >> > commons-io-1.1.jar >> > commons-lang-2.4.0.jar >> > commons-logging.jar >> > commons-pool.jar >> > coreapi.jar >> > crosstabcoreapi.jar >> > dataadapterapi.jar >> > dataaggregationapi.jar >> > dataextraction.jar >> > displaytag-1.2.jar >> > displaytag-export-poi-1.2.jar >> > dteapi.jar >> > ecxconnect-mmp-bl.jar >> > emitterconfig.jar >> > engineapi.jar >> > flute.jar >> > *freemarker-2.3.15.jar* >> > gnu-hylafax-core-1.0.3.jar >> > gnu-hylafax-inet-ftp-1.0.3.jar >> > itext-1.3.jar >> > jasypt-1.4.1.x.jar >> > jaxws-spring-1.8.jar >> > jep-3.3.0-trial.jar >> > joda-time-1.6.jar >> > js.jar >> > json.jar >> > jsonplugin-0.33.jar >> > jstl.jar >> > junit-4.4.jar >> > log4j-1.2.8.jar >> > mail-1.4.2.jar >> > mmpdemo-bl.jar >> > modelapi.jar >> > modelodaapi.jar >> > mysql-connector-java-5.0.5-bin.jar >> > odadesignapi.jar >> > *ognl-2.7.3.jar* >> > org.apache.commons.codec_1.3.0.v20080530-1600.jar >> > org.eclipse.birt.report.model_2.5.0.v20090605.jar >> > org.eclipse.emf.common_2.5.0.v200906080927.jar >> > org.eclipse.emf.ecore_2.5.0.v200906080927.jar >> > org.eclipse.emf.ecore.xmi_2.5.0.v200906080927.jar >> > org.w3c.css.sac_1.3.0.v200805290154.jar >> > poi-3.0.2-FINAL-20080204.jar >> > scriptapi.jar >> > spring-2.5.6.jar >> > spring-security-core-2.0.4.jar >> > spring-security-taglibs-2.0.4.jar >> > spring-test-2.5.6.jar >> > spring-webmvc-2.5.6.jar >> > spring-ws-1.5.2.jar >> > standard.jar >> > *struts2-core-2.1.8.jar* >> > *struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar >> > *struts2-jquery-plugin-1.0.8.jar >> > struts2-scope-plugin-1.0.4 (modified).jar >> > *struts2-spring-plugin-2.1.8.jar* >> > tidy.jar >> > trilead-ssh2-build213.jar >> > webservices-api.jar >> > webservices-rt.jar >> > xbean-spring-3.1.jar >> > *xwork-core-2.1.6.jar* >> > >> > I haven't tried testing this on another 'trimmed down' project. Let me >> know >> > if anything is glaringly obvious here, otherwise, I'll try the >> trimming-down >> > >> > Thanks for looking through this! >> > - Eric >> > >> > >> > On Sat, Oct 17, 2009 at 2:52 AM, Musachy Barroso <musa...@gmail.com> >> wrote: >> > >> >> nvm. el-api.jar should not be in lib, after removing them I have to >> >> webapps with jsp plugin working. Can you compare your jars to: >> >> >> >> commons-el-1.0.jar >> >> commons-fileupload-1.2.1.jar >> >> commons-io-1.3.2.jar >> >> commons-logging-1.1.1.jar >> >> freemarker-2.3.15.jar >> >> ognl-2.7.3.jar >> >> struts2-core-2.1.9-SNAPSHOT.jar >> >> struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar >> >> xwork-core-2.1.7-SNAPSHOT.jar >> >> >> >> and tell me the exact steps after you load the app, to reproduce the >> error? >> >> >> >> thanks for helping me test this btw :) >> >> musachy >> >> >> >> On Fri, Oct 16, 2009 at 4:49 PM, Musachy Barroso <musa...@gmail.com> >> >> wrote: >> >> > I am getting a different error: >> >> > >> >> > javax.servlet.ServletException: java.lang.LinkageError: Class >> >> > javax/el/ExpressionFactory violates loader constraints >> >> > >> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275) >> >> > javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> >> > >> >> >> org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:154) >> >> > >> >> >> org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186) >> >> > >> >> >> com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362) >> >> > >> >> >> com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266) >> >> > >> >> >> com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165) >> >> > >> >> > which looks even more weird. Here are the jars I have in web-inf/lib: >> >> > >> >> > commons-el-1.0.jar >> >> > commons-fileupload-1.2.1.jar >> >> > commons-io-1.3.2.jar >> >> > commons-logging-1.1.1.jar >> >> > el-api-6.0.18.jar >> >> > freemarker-2.3.15.jar >> >> > ognl-2.7.3.jar >> >> > struts2-core-2.1.9-SNAPSHOT.jar >> >> > struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar >> >> > testjar-1.0.jar >> >> > xwork-core-2.1.7-SNAPSHOT.jar >> >> > >> >> > That's on a default installation of tomcat 6.0.20. Can you compare >> >> > that to your jars? >> >> > >> >> > musachy >> >> > >> >> > On Thu, Oct 15, 2009 at 8:57 AM, Musachy Barroso <musa...@gmail.com> >> >> wrote: >> >> >> pretty consistent :), I will try to take a look. >> >> >> >> >> >> musachy >> >> >> >> >> >> On Thu, Oct 15, 2009 at 8:23 AM, Obinna <obi...@gmail.com> wrote: >> >> >>> No I don't have any unusual jars in my shared lib (learnt my lesson >> >> last >> >> >>> time :| - I have some jax-ws web-service api stuff in endorsed but >> >> that's >> >> >>> all). >> >> >>> >> >> >>> Placing the plugin jar in the shared dir ('lib' for Tomcat 6) >> results >> >> in >> >> >>> struts not being able to find the plugin config file and throwing >> the >> >> error: >> >> >>> "There is no result type defined for type 'embeddedJsp'..." >> >> >>> >> >> >>> Given this, it is somewhat strange that, placing it in the web-app >> libs >> >> *as >> >> >>> well as *the tomcat lib results in struts trying to load the trying >> to >> >> load >> >> >>> the plugin config file twice and throwing the error during startup: >> >> >>> >> >> >>> The package name 'embeddedjsp-default' at location package - >> >> >>> >> >> >> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/wtpwebapps/test/WEB-INF/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82 >> >> >>> is already been used by another package at location package - >> >> >>> >> >> >> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82 >> >> >>> .... >> >> >>> >> >> >>> Thanks, >> >> >>> - Eric >> >> >>> >> >> >>> >> >> >>> >> >> >>> >> >> >>> On Thu, Oct 15, 2009 at 5:59 PM, Musachy Barroso <musa...@gmail.com >> > >> >> wrote: >> >> >>> >> >> >>>> just for kicks, put the embeddedjsp plugin in the shared dir, and >> see >> >> >>>> if it works. >> >> >>>> >> >> >>>> On Thu, Oct 15, 2009 at 7:58 AM, Musachy Barroso < >> musa...@gmail.com> >> >> >>>> wrote: >> >> >>>> > yeah that is kind of strange. do you have any of the struts, or >> your >> >> >>>> > jars in the tomcat shared dir? even in that case it should not >> >> matter. >> >> >>>> > >> >> >>>> > musachy >> >> >>>> > >> >> >>>> > On Thu, Oct 15, 2009 at 1:10 AM, Obinna <obi...@gmail.com> >> wrote: >> >> >>>> >> There's another classloading issue with the embeddedJsp plugin. >> >> >>>> >> >> >> >>>> >> When deploying multiple webapps on the same tomcat server, both >> of >> >> which >> >> >>>> >> utilize the embeddedJsp plugin. After loading embeddJsp pages in >> on >> >> web >> >> >>>> app, >> >> >>>> >> attempting to load any embeddedJsp pages in the second webapp >> >> throws the >> >> >>>> >> following exception: >> >> >>>> >> >> >> >>>> >> java.lang.ClassCastException: >> >> >>>> >> org.apache.struts2.jasper.runtime.JspApplicationContextImpl >> cannot >> >> be >> >> >>>> cast >> >> >>>> >> to org.apache.struts2.jasper.runtime.JspApplicationContextImpl >> >> >>>> >> >> >> >>>> >> >> >> >>>> >> >> >> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76) >> >> >>>> >> >> >> >>>> >> >> >> >>>> >> >> >> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200) >> >> >>>> >> >> >> >>>> >> >> >> >>>> >> >> >> org.apache.struts2.jsp.com.test.service.reporting.jsp.alert_jsp._jspInit(alert_jsp.java >> >> >>>> >> from :31) >> >> >>>> >> >> >> >>>> >> >> org.apache.struts2.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52) >> >> >>>> >> >> org.apache.struts2.JSPLoader.createServlet(JSPLoader.java:112) >> >> >>>> >> org.apache.struts2.JSPLoader.load(JSPLoader.java:90) >> >> >>>> >> org.apache.struts2.ServletCache$1.call(ServletCache.java:46) >> >> >>>> >> org.apache.struts2.ServletCache$1.call(ServletCache.java:44) >> >> >>>> >> >> >> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) >> >> >>>> >> java.util.concurrent.FutureTask.run(FutureTask.java:138) >> >> >>>> >> org.apache.struts2.ServletCache.get(ServletCache.java:53) >> >> >>>> >> org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:63) >> >> >>>> >> org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:45) >> >> >>>> >> >> >> >>>> >> >> >> >>>> >> >> >> org.apache.struts2.EmbeddedJSPResult.doExecute(EmbeddedJSPResult.java:32) >> >> >>>> >> >> >> >>>> >> >> >> >>>> >> >> >> org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186). >> >> >>>> >> >> >> >>>> >> which is strange as i would have expected the >> >> JspApplicationContextImpl >> >> >>>> to >> >> >>>> >> be loaded and isolated by each web-application class loader. >> >> >>>> >> >> >> >>>> >> Also, subsequent attempts to load non-embedded jsp page then >> throw: >> >> >>>> >> >> >> >>>> >> org.apache.struts2.jasper.runtime.JspApplicationContextImpl >> cannot >> >> be >> >> >>>> cast >> >> >>>> >> to org.apache.struts2.jasper.runtime.JspApplicationContextImpl >> >> >>>> >> at >> >> >>>> >> >> >> >>>> >> >> >> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76) >> >> >>>> >> at >> >> >>>> >> >> >> >>>> >> >> >> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200) >> >> >>>> >> >> >> >>>> >> >> >> >>>> >> - Eric >> >> >>>> >> >> >> >>>> >> >> >> >>>> >> >> >> >>>> >> >> >> >>>> >> On Mon, Sep 28, 2009 at 11:05 AM, Obinna <obi...@gmail.com> >> wrote: >> >> >>>> >> >> >> >>>> >>> Tested and work well. Couldn't resolve >> struts2-core.2.1.9-Snapshot >> >> >>>> maven >> >> >>>> >>> dependency so I used 2.1.8 though. >> >> >>>> >>> Closed jira ticket. >> >> >>>> >>> Thanks again!! I hope everyone realizes how >> significant/powerful >> >> a >> >> >>>> plugin >> >> >>>> >>> this is. >> >> >>>> >>> >> >> >>>> >>> - Eric >> >> >>>> >>> >> >> >>>> >>> >> >> >>>> >>> >> >> >>>> >>> On Mon, Sep 28, 2009 at 9:07 AM, Musachy Barroso < >> >> musa...@gmail.com >> >> >>>> >wrote: >> >> >>>> >>> >> >> >>>> >>>> I should have done it with jasper 6 since the beginning, but >> it >> >> seemed >> >> >>>> >>>> more difficult and my laziness took the best of me :) >> >> >>>> >>>> >> >> >>>> >>>> musachy >> >> >>>> >>>> >> >> >>>> >>>> On Sun, Sep 27, 2009 at 10:12 PM, Obinna <obi...@gmail.com> >> >> wrote: >> >> >>>> >>>> > Great!. Musachy, thanks a million for doing this so quickly. >> >> I'll >> >> >>>> give >> >> >>>> >>>> it a >> >> >>>> >>>> > test anon >> >> >>>> >>>> > >> >> >>>> >>>> > >> >> >>>> >>>> > On Mon, Sep 28, 2009 at 6:18 AM, Martin Gainty < >> >> mgai...@hotmail.com >> >> >>>> > >> >> >>>> >>>> wrote: >> >> >>>> >>>> > >> >> >>>> >>>> >> >> >> >>>> >>>> >> thanks for the headsup.. 2.1.8 builds now.. >> >> >>>> >>>> >> I had wrong version of commons-collections ListUtils not >> >> having >> >> >>>> >>>> >> isEqualList(collection,collection) >> >> >>>> >>>> >> <dependency> >> >> >>>> >>>> >> >> >> <groupId>org.apache.commons.collections</groupId> >> >> >>>> >>>> >> <artifactId>commons-collections</artifactId> >> >> >>>> >>>> >> <version>3.2.1</version> >> >> >>>> >>>> >> </dependency> >> >> >>>> >>>> >> pulls correct version >> >> >>>> >>>> >> >> >> >>>> >>>> >> seeing some failures in surefire..(too many to count on one >> >> hand >> >> >>>> will >> >> >>>> >>>> take >> >> >>>> >>>> >> a look tommorrow) >> >> >>>> >>>> >> thanks, >> >> >>>> >>>> >> Martin Gainty >> >> >>>> >>>> >> ______________________________________________ >> >> >>>> >>>> >> Standard Caveats apply >> >> >>>> >>>> >> >> >> >>>> >>>> >> >> >> >>>> >>>> >> >> >> >>>> >>>> >> >> >> >>>> >>>> >> > Date: Sun, 27 Sep 2009 19:00:12 -0700 >> >> >>>> >>>> >> > Subject: Re: embeddedJsp plugin causing jsp compilation >> >> issues >> >> >>>> >>>> >> > From: musa...@gmail.com >> >> >>>> >>>> >> > To: dev@struts.apache.org >> >> >>>> >>>> >> > >> >> >>>> >>>> >> > a'right. The code is in trunk. To use the plugin with >> >> tomcat, >> >> >>>> just >> >> >>>> >>>> >> > build it and deploy it as usual. It works with Jetty 7+, >> >> which >> >> >>>> needs >> >> >>>> >>>> >> > the tomcat deps added to the application, adding this to >> >> your pom >> >> >>>> >>>> will >> >> >>>> >>>> >> > take care of it: >> >> >>>> >>>> >> > >> >> >>>> >>>> >> > <dependency> >> >> >>>> >>>> >> > <groupId>org.apache.tomcat</groupId> >> >> >>>> >>>> >> > <artifactId>jasper</artifactId> >> >> >>>> >>>> >> > <version>6.0.18</version> >> >> >>>> >>>> >> > </dependency> >> >> >>>> >>>> >> > >> >> >>>> >>>> >> > let me know if it works. >> >> >>>> >>>> >> > >> >> >>>> >>>> >> > musachy >> >> >>>> >>>> >> > >> >> >>>> >>>> >> > On Sun, Sep 27, 2009 at 6:34 PM, Musachy Barroso < >> >> >>>> musa...@gmail.com> >> >> >>>> >>>> >> wrote: >> >> >>>> >>>> >> > > it works on tomcat but now it breaks in jetty...oh joy. >> >> >>>> >>>> >> > > >> >> >>>> >>>> >> > > On Sun, Sep 27, 2009 at 2:35 PM, Musachy Barroso < >> >> >>>> >>>> musa...@gmail.com> >> >> >>>> >>>> >> wrote: >> >> >>>> >>>> >> > >> ok I got jasper 6 working. I will do some more testing >> >> (at >> >> >>>> least >> >> >>>> >>>> the >> >> >>>> >>>> >> > >> junits run fine), commit the jasper code, and then >> commit >> >> my >> >> >>>> >>>> changes. >> >> >>>> >>>> >> > >> (later on) >> >> >>>> >>>> >> > >> >> >> >>>> >>>> >> > >> musachy >> >> >>>> >>>> >> > >> >> >> >>>> >>>> >> > >> On Sun, Sep 27, 2009 at 12:56 PM, Musachy Barroso < >> >> >>>> >>>> musa...@gmail.com> >> >> >>>> >>>> >> wrote: >> >> >>>> >>>> >> > >>> yeah that would work if I could use it as a library, >> but >> >> >>>> jasper >> >> >>>> >>>> is >> >> >>>> >>>> >> not >> >> >>>> >>>> >> > >>> written with that in mind. I had to change a fairly >> >> amount of >> >> >>>> >>>> private >> >> >>>> >>>> >> > >>> code to get it to work. >> >> >>>> >>>> >> > >>> >> >> >>>> >>>> >> > >>> musachy >> >> >>>> >>>> >> > >>> >> >> >>>> >>>> >> > >>> On Sun, Sep 27, 2009 at 12:50 PM, Antonio Petrelli >> >> >>>> >>>> >> > >>> <antonio.petre...@gmail.com> wrote: >> >> >>>> >>>> >> > >>>> 2009/9/27 Musachy Barroso <musa...@gmail.com>: >> >> >>>> >>>> >> > >>>>> It is a missmatch between the jsp-apis. The >> internal >> >> jasper >> >> >>>> >>>> >> implements >> >> >>>> >>>> >> > >>>>> 2.0, while tomcat 6/jasper 6 implement 2.1, and in >> 2.1 >> >> >>>> there a >> >> >>>> >>>> new >> >> >>>> >>>> >> > >>>>> method called. It is not looking good. >> >> >>>> >>>> >> > >>>> >> >> >>>> >>>> >> > >>>> You might wish to use JarJar to repackage, to avoid >> >> >>>> conflicts >> >> >>>> >>>> like >> >> >>>> >>>> >> > >>>> this. Lots of people use them to avoid dependencies, >> >> like >> >> >>>> >>>> >> > >>>> commons-logging. >> >> >>>> >>>> >> > >>>> See: >> >> >>>> >>>> >> > >>>> http://docs.atlassian.com/jarjar-maven-plugin/ >> >> >>>> >>>> >> > >>>> >> >> >>>> >>>> >> > >>>> HTH >> >> >>>> >>>> >> > >>>> Antonio >> >> >>>> >>>> >> > >>>> >> >> >>>> >>>> >> > >>>> >> >> >>>> >>>> >> >> >> >>>> >> --------------------------------------------------------------------- >> >> >>>> >>>> >> > >>>> To unsubscribe, e-mail: >> >> dev-unsubscr...@struts.apache.org >> >> >>>> >>>> >> > >>>> For additional commands, e-mail: >> >> dev-h...@struts.apache.org >> >> >>>> >>>> >> > >>>> >> >> >>>> >>>> >> > >>>> >> >> >>>> >>>> >> > >>> >> >> >>>> >>>> >> > >>> >> >> >>>> >>>> >> > >>> >> >> >>>> >>>> >> > >>> -- >> >> >>>> >>>> >> > >>> "Hey you! Would you help me to carry the stone?" Pink >> >> Floyd >> >> >>>> >>>> >> > >>> >> >> >>>> >>>> >> > >> >> >> >>>> >>>> >> > >> >> >> >>>> >>>> >> > >> >> >> >>>> >>>> >> > >> -- >> >> >>>> >>>> >> > >> "Hey you! Would you help me to carry the stone?" Pink >> >> Floyd >> >> >>>> >>>> >> > >> >> >> >>>> >>>> >> > > >> >> >>>> >>>> >> > > >> >> >>>> >>>> >> > > >> >> >>>> >>>> >> > > -- >> >> >>>> >>>> >> > > "Hey you! Would you help me to carry the stone?" Pink >> >> Floyd >> >> >>>> >>>> >> > > >> >> >>>> >>>> >> > >> >> >>>> >>>> >> > >> >> >>>> >>>> >> > >> >> >>>> >>>> >> > -- >> >> >>>> >>>> >> > "Hey you! Would you help me to carry the stone?" Pink >> Floyd >> >> >>>> >>>> >> > >> >> >>>> >>>> >> > >> >> >>>> >> --------------------------------------------------------------------- >> >> >>>> >>>> >> > To unsubscribe, e-mail: >> dev-unsubscr...@struts.apache.org >> >> >>>> >>>> >> > For additional commands, e-mail: >> dev-h...@struts.apache.org >> >> >>>> >>>> >> > >> >> >>>> >>>> >> >> >> >>>> >>>> >> >> >> _________________________________________________________________ >> >> >>>> >>>> >> Lauren found her dream laptop. Find the PC that’s right for >> >> you. >> >> >>>> >>>> >> >> >> http://www.microsoft.com/windows/choosepc/?ocid=ftp_val_wl_290 >> >> >>>> >>>> > >> >> >>>> >>>> >> >> >>>> >>>> >> >> >>>> >>>> >> >> >>>> >>>> -- >> >> >>>> >>>> "Hey you! Would you help me to carry the stone?" Pink Floyd >> >> >>>> >>>> >> >> >>>> >>>> >> >> --------------------------------------------------------------------- >> >> >>>> >>>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >> >> >>>> >>>> For additional commands, e-mail: dev-h...@struts.apache.org >> >> >>>> >>>> >> >> >>>> >>>> >> >> >>>> >>> >> >> >>>> >> >> >> >>>> > >> >> >>>> > >> >> >>>> > >> >> >>>> > -- >> >> >>>> > "Hey you! Would you help me to carry the stone?" Pink Floyd >> >> >>>> > >> >> >>>> >> >> >>>> >> >> >>>> >> >> >>>> -- >> >> >>>> "Hey you! Would you help me to carry the stone?" Pink Floyd >> >> >>>> >> >> >>>> >> --------------------------------------------------------------------- >> >> >>>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >> >> >>>> For additional commands, e-mail: dev-h...@struts.apache.org >> >> >>>> >> >> >>>> >> >> >>> >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> >> "Hey you! Would you help me to carry the stone?" Pink Floyd >> >> >> >> >> > >> >> > >> >> > >> >> > -- >> >> > "Hey you! Would you help me to carry the stone?" Pink Floyd >> >> > >> >> >> >> >> >> >> >> -- >> >> "Hey you! Would you help me to carry the stone?" Pink Floyd >> >> >> >> --------------------------------------------------------------------- >> >> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >> >> For additional commands, e-mail: dev-h...@struts.apache.org >> >> >> >> >> > >> >> >> >> -- >> "Hey you! Would you help me to carry the stone?" Pink Floyd >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >> For additional commands, e-mail: dev-h...@struts.apache.org >> >> > -- "Hey you! Would you help me to carry the stone?" Pink Floyd --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org For additional commands, e-mail: dev-h...@struts.apache.org