Hi Nikolaos,

looks like a class loading issue to me. behaves like you have
duplicated classes (the action found twice) and/or 2 stripes versions
on your classpath (the NoSuchMethod).
Packaging problem ?
Does this happen in glassfish only ? Or can you reproduce in tomcat ?

The best to allow us to help would be to create a web test case. You
can use the existing example application for that: it includes web
tests and all the plumbing needed to run them. You could add your
beans/jsps to the app and write a canoo webtest that reproduces the
issue. Otherwise it's quite hard to debug...

Cheers

Remi

2010/10/16, Nikolaos Giannopoulos <[email protected]>:
> Hi,
>
> I have run a number of tests - back and forth - cleaning and rebuilding
> a project from scratch - and have found the following:
>
> *1.5.3* - WORKS 100%
> *1.5.3.1* (essentially a home grown 1.5.3 + DynamicMappingFilter code
> from 1.5.x branch) - WORKS 100%
> *1.5.4 Snapshot (*downloaded from project URL) - Does NOT Work Properly
> (See below)
> *1.5.4 Snapshot *(built myself) - Does NOT Work Properly (See below)
>
> Almost always the exception I included in my initial post on this thread
> would fire so I decided to remove the custom MyActionResolver (which I
> had included verbatim from Freddy's book and also pasted in my initial
> post on this thread).  After removal the exception still occurs except
> now the code executed is 100% Stripes (see 1st exception below).  At 1st
> I thought perhaps I had the wrong Stripes jar or something but I have
> gone back and forth at least 5 times and with the 1.5.3 or 1.5.3.1
> Stripes this issue never occurs.  I have un-deployed, cleaned the
> Eclipse project, done a Maven clean, an Eclipse clean, a Maven package,
> a deployment and finally fired up GlassFish each iteration... just to
> make sure everything is FULLY on the up and up and 1.5.4 tests fail.
>
> The other exception that occurs at times is the 2nd exception listed
> below.  I have no idea why Stripes would think that there are 2
> ActionBeans with the same URL binding because there is only 1.  What is
> bizarre is that I have narrowed down this exception to occur if when I
> startup my app I go to the /design URI first however if I hit the / URI
> first then /design the issue does not occur.  Again this issue only
> occurs with the 1.5.4 tests.
>
> I should point out that both of these exceptions occur on pages
> involving nested layouts.
>
> Has anyone else extensively tested 1.5.4 Snapshot with Nested Layouts
> and found any issues????
>
> ANY ideas anyone... 1.5.4 Snapshot appears unusable for me.
>
> --Nikolaos
>
>
>
> [#|2010-10-16T00:17:19.867-0400|INFO|glassfish3.0.1|javax.enterprise.system.std.com.sun.enterprise.v3.services.impl|_ThreadID=25;_ThreadName=http-thread-pool-8080-(1);|[00:17:19,859]
> WARN  net.sourceforge.stripes.exception.DefaultExceptionHandler.warn  -
> Unhandled exception caught by the Stripes default exception handler.
> java.lang.NoSuchMethodError:
> net.sourceforge.stripes.controller.UrlBindingFactory.getInstance()Lnet/sourceforge/stripes/controller/UrlBindingFactory;
>     at
> net.sourceforge.stripes.controller.NameBasedActionResolverHelper.getActionBeanType(NameBasedActionResolverHelper.java:186)
>     at
> net.sourceforge.stripes.controller.NameBasedActionResolver.getActionBeanType(NameBasedActionResolver.java)
>     at
> net.sourceforge.stripes.controller.DynamicMappingFilter$2.doFilter(DynamicMappingFilter.java:423)
>     at
> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:247)
>     at
> net.sourceforge.stripes.controller.DynamicMappingFilter.doFilter(DynamicMappingFilter.java:418)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
>     at
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
>     at
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
>     at
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
>     at
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
>     at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277)
>     at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
>     at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
>     at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
>     at
> com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
>     at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
>     at
> org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
>     at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
>     at
> com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
>     at
> com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
>     at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
>     at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
>     at
> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
>     at
> com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
>     at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
>     at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
>     at
> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
>     at
> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
>     at
> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
>     at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
>     at
> com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
>     at
> com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
>     at java.lang.Thread.run(Thread.java:637)
> |#]
>
> -----------------------------------------------------------------------------------------------
> -----------------------------------------------------------------------------------------------
>
> [#|2010-10-15T23:52:53.222-0400|WARNING|glassfish3.0.1|javax.enterprise.system.container.web.com.sun.enterprise.web|_ThreadID=25;_ThreadName=http-thread-pool-8080-(2);|ApplicationDispatcher[/ui-web]
> PWC1231: Servlet.service() for servlet jsp threw exception
> net.sourceforge.stripes.exception.UrlBindingConflictException: The path
> /app/sel/lang cannot be mapped to a single ActionBean because multiple
> URL bindings match it. The matching URL bindings are [/app/sel/lang,
> /app/sel/lang]. If you generated the URL using the Stripes tag library
> (stripes:link, stripes:url, stripes:form, etc.) then you must embed
> enough stripes:param tags within the parent tag to produce a URL that
> maps to exactly one of the indicated matches. If you generated the URL
> by some other means, then you must embed enough information in the URL
> to achieve the same end.
>     at
> net.sourceforge.stripes.controller.UrlBindingFactory.getBindingPrototype(UrlBindingFactory.java:144)
>     at
> net.sourceforge.stripes.controller.AnnotatedClassActionResolver.getUrlBindingFromPath(AnnotatedClassActionResolver.java:190)
>     at
> org.lightagents.ui.stripes.extensions.MyActionResolver.getUrlBindingFromPath(MyActionResolver.java:50001)
>     at
> net.sourceforge.stripes.tag.FormTag.getActionBeanUrlBinding(FormTag.java:100)
>     at net.sourceforge.stripes.tag.FormTag.getActionBean(FormTag.java:360)
>     at
> net.sourceforge.stripes.tag.InputTagSupport.getActionBean(InputTagSupport.java:392)
>     at
> net.sourceforge.stripes.tag.InputTagSupport.loadErrors(InputTagSupport.java:350)
>     at
> net.sourceforge.stripes.tag.InputTagSupport.getFieldErrors(InputTagSupport.java:366)
>     at
> net.sourceforge.stripes.tag.InputTagSupport.doStartTag(InputTagSupport.java:409)
>     at
> org.apache.jsp.WEB_002dINF.jsp.page.home_jsp._jspx_meth_s_select_0(home_jsp.java
> from :344)
>     at
> org.apache.jsp.WEB_002dINF.jsp.page.home_jsp._jspx_meth_s_form_0(home_jsp.java
> from :301)
>     at
> org.apache.jsp.WEB_002dINF.jsp.page.home_jsp._jspx_meth_s_layout$1component_0(home_jsp.java
> from :227)
>     at
> org.apache.jsp.WEB_002dINF.jsp.page.home_jsp._jspx_meth_s_layout$1render_0(home_jsp.java
> from :189)
>     at
> org.apache.jsp.WEB_002dINF.jsp.page.home_jsp._jspService(home_jsp.java
> from :115)
>     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>     at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:406)
>     at
> org.apache.jasper.servlet.JspServlet._serviceJspFile(JspServlet.java:483)
>     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java)
>     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:373)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>     at
> org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1523)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
>     at
> net.sourceforge.stripes.controller.DynamicMappingFilter.doFilter(DynamicMappingFilter.java:397)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
>     at
> org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:820)
>     at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
>     at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:517)
>     at
> org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:488)
>     at
> org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:379)
>     at
> org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:336)
>     at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:314)
>     at
> net.sourceforge.stripes.action.ForwardResolution.execute(ForwardResolution.java:110)
>     at
> net.sourceforge.stripes.controller.DispatcherHelper$7.intercept(DispatcherHelper.java:508)
>     at
> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:158)
>     at
> net.sourceforge.stripes.controller.HttpCacheInterceptor.intercept(HttpCacheInterceptor.java:99)
>     at
> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155)
>     at
> net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:113)
>     at
> net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:155)
>     at
> net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:74)
>     at
> net.sourceforge.stripes.controller.DispatcherHelper.executeResolution(DispatcherHelper.java:502)
>     at
> net.sourceforge.stripes.controller.DispatcherServlet.executeResolution(DispatcherServlet.java:286)
>     at
> net.sourceforge.stripes.controller.DispatcherServlet.service(DispatcherServlet.java:170)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>     at
> net.sourceforge.stripes.controller.DynamicMappingFilter$2.doFilter(DynamicMappingFilter.java:431)
>     at
> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:247)
>     at
> net.sourceforge.stripes.controller.DynamicMappingFilter.doFilter(DynamicMappingFilter.java:418)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
>     at
> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
>     at
> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
>     at
> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
>     at
> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417)
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
>     at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277)
>     at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
>     at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
>     at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
>     at
> com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
>     at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
>     at
> org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
>     at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
>     at
> com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
>     at
> com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
>     at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
>     at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
>     at
> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
>     at
> com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
>     at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
>     at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
>     at
> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
>     at
> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
>     at
> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
>     at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
>     at
> com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
>     at
> com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
>     at java.lang.Thread.run(Thread.java:637)
> |#]
>
>
>
> Freddy Daoud wrote:
>> I built from the source of build 1305 from branches/1.5.x
>> and did not get this error. What could the problem be?
>>
>> Freddy
>>
>> On Sat, 09 Oct 2010 23:27:23 -0400, "Nikolaos Giannopoulos"
>> <[email protected]> said:
>>
>>> Hmmm... this one is really bizarre.
>>>
>>> I even tried compiling my own 1.5.4 Snapshot and the problem persists.
>>> Switched back to 1.5.3 and the problem went away. Back to 1.5.4 Snapshot
>>> and the problem again. And back and back again.
>>>
>>> The exception and MyActionResolver are provided below.
>>>
>>> At this point I can't test 1.5.4 Snapshot.
>>>
>>> Ideas anyone????
>>>
>>> --Nikolaos
>>>
>>>
>>>
>>> Nikolaos Giannopoulos wrote:
>>>
>>>> Hi,
>>>>
>>>> I finally had the time to switch to 1.5.4 Snapshot (once again) and give
>>>>
>>>> it a spin after all the great updates / commits.
>>>>
>>>> However I get the following error early on in request processing.  Any
>>>> ideas anyone?
>>>>
>>>> I have done a Maven clean... an Eclipse clean... at least a 1/2 dozen
>>>> times each.  All my tests pass but I can't get glassfish going.  It all
>>>> worked fine on 1.5.3.
>>>>
>>>> Anyone have any clue.
>>>>
>>>> --Nikolaos
>>>>
>>>>
>>>> [#|2010-10-09T21:16:44.219-0400|INFO|glassfish3.0.1|javax.enterprise.system.std.com.sun.enterprise.v3.services.impl|_ThreadID=26;_ThreadName=http-thread-pool-8080-(2);|[21:16:44,215]
>>>>
>>>> WARN  net.sourceforge.stripes.exception.DefaultExceptionHandler.warn  -
>>>> Unhandled exception caught by the Stripes default exception handler.
>>>> java.lang.NoSuchMethodError:
>>>> net.sourceforge.stripes.controller.UrlBindingFactory.getInstance()Lnet/sourceforge/stripes/controller/UrlBindingFactory;
>>>>     at
>>>> net.sourceforge.stripes.controller.NameBasedActionResolverHelper.getActionBeanType(NameBasedActionResolverHelper.java:186)
>>>>     at
>>>> net.sourceforge.stripes.controller.NameBasedActionResolver.getActionBeanType(NameBasedActionResolver.java)
>>>>     at
>>>> org.lightagents.ui.stripes.extensions.MyActionResolver.getActionBeanType(MyActionResolver.java:50001)
>>>>     at
>>>> net.sourceforge.stripes.controller.DynamicMappingFilter$2.doFilter(DynamicMappingFilter.java:424)
>>>>     at
>>>> net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:247)
>>>>     at
>>>> net.sourceforge.stripes.controller.DynamicMappingFilter.doFilter(DynamicMappingFilter.java:418)
>>>>     at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
>>>>     at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
>>>>     at
>>>> org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
>>>>     at
>>>> org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
>>>>     at
>>>> org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
>>>>     at
>>>> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417)
>>>>     at
>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
>>>>     at
>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
>>>>     at
>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277)
>>>>     at
>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188)
>>>>     at
>>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641)
>>>>     at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97)
>>>>     at
>>>> com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85)
>>>>     at
>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185)
>>>>     at
>>>> org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325)
>>>>     at
>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226)
>>>>     at
>>>> com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165)
>>>>     at
>>>> com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
>>>>     at
>>>> com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
>>>>     at
>>>> com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
>>>>     at
>>>> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
>>>>     at
>>>> com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
>>>>     at
>>>> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
>>>>     at
>>>> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
>>>>     at
>>>> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
>>>>     at
>>>> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
>>>>     at
>>>> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
>>>>     at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
>>>>     at
>>>> com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
>>>>     at
>>>> com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
>>>>     at java.lang.Thread.run(Thread.java:637)
>>>> |#]
>>>>
>>>>
>>>>
>>>> public class MyActionResolver extends NameBasedActionResolver {
>>>>
>>>>
>>>>     @Override
>>>>     protected String getBindingSuffix() {
>>>>         return "";
>>>>     }
>>>>
>>>>     @Override
>>>>     protected String getUrlBinding(String actionBeanName) {
>>>>         String result = super.getUrlBinding(actionBeanName);
>>>>         // COMMENTED OUT:  As I don't think it necessary to force lower
>>>> case as all URLs in app are lower case
>>>>         // result = convertToLowerCaseWithUnderscores(result);
>>>>         return result;
>>>>     }
>>>> }
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Beautiful is writing same markup. Internet Explorer 9 supports
>>>> standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
>>>> Spend less time writing and  rewriting code and more time creating great
>>>> experiences on the web. Be a part of the beta today.
>>>> http://p.sf.net/sfu/beautyoftheweb
>>>> _______________________________________________
>>>> Stripes-development mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/stripes-development
>>>>
>>>>
>>>>
>
>

-- 
Envoyé avec mon mobile

------------------------------------------------------------------------------
Download new Adobe(R) Flash(R) Builder(TM) 4
The new Adobe(R) Flex(R) 4 and Flash(R) Builder(TM) 4 (formerly 
Flex(R) Builder(TM)) enable the development of rich applications that run
across multiple browsers and platforms. Download your free trials today!
http://p.sf.net/sfu/adobe-dev2dev
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to