Re: OT: Tomcat struts-2.0.9 noClassDefFoundError
Zoran Avtarovski wrote: Does anybody have any experience with Tomcat 6. Should I be downgrading back to 5.5? This project is slated to go into production in 6 weeks and the last thing I want is a similar issue a few months into its deployment. I have a project I've been developing against tomcat5.5, but I've been considering deploying to tomcat6 in order to get JSP 2.1, mainly in order to be able to set: true. But I also don't know much about tomcat6... ...so I'm also quite interested in learning about the experiences of folks here on this topic. -Dale - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: OT: Tomcat struts-2.0.9 noClassDefFoundError
Just a quick update on this. After spending the better part of the day and in complete desperation (please, let get my frustration out) I downloaded the latest version of Tomcat (6.0.13 as opposed 6.0.10 previously) and it all worked fine. WTF is that about. This untouched setup has been working fine for months - as I said, all we changed were the upgraded struts jars. This is my first project we're we'll be using Tomcat in preference to a commercial product and I'm a little concerned about it's stability. Does anybody have any experience with Tomcat 6. Should I be downgrading back to 5.5? This project is slated to go into production in 6 weeks and the last thing I want is a similar issue a few months into its deployment. Z. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
OT: Tomcat struts-2.0.9 noClassDefFoundError
I know this is a little off topic but I'm lost as to where to start. We're currently working on an app and when I went to start Tomcat this morning I got a java.lang.NoClassDefFoundError: javax/servlet/Filter. This installation has been working fine for months and the only change was when I upgraded the struts jars to 2.09 this morning. I tried going back to 2.08 but that hasn't solved the problem. I tried googling with no luck. My environment is: Tomcat: 6.0.10 JVM: Apple 1.5.0_07-164 The Servlet-api jar looks fine and as I sad it was working perfectly yesterday. Any help would be so appreciated at this point. Z. PS here's the detailed stack trace: SEVERE: Exception starting filter struts java.lang.NoClassDefFoundError: javax/servlet/Filter at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav a:1273) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav a:1204) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilter Config.java:249) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFil terConfig.java:397) at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterCon fig.java:108) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:36 93) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342) at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1177) at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java :542) at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java :105) at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application FilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh ain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja va:228) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja va:175) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase .java:525) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128 ) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104 ) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java :109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http 11Protocol.java:634) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445) at java.lang.Thread.run(Thread.java:613) Aug 5, 2007 2:02:10 PM org.apache.catalina.core.StandardContext filterStart SEVERE: Exception starting filter struts-cleanup java.lang.NoClassDefFoundError: javax/servlet/Filter at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav a:1273) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.jav a:1204) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilter Config.java:249) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFil terConfig.java:397) at org.apache.c
Re: [s2] Is it possible to replace/supplement i18n resolution logic?
> Well, if your Action class implements TextProvider (as does > ActionSupport), then you can resolve keys any way you'd like. As for > plugging/altering the existing lookup that is used by ActionSupport, > it really isn't possible right now, and I've love to see a patch > making that more flexible... *hint* *hint* :) > Am I crazy or would this be as simple as having a setTextProvider() method in ActionSupport that would (take a guess..) set the textProvider which is currently private in ActionSupport. Then when you're configuring your actions with say Spring, you could pass your own TextProvider singleton bean. Zarar - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Cannot extend a theme
Does this (https://issues.apache.org/struts/browse/WW-1328) means, that at this moment we cannot create our own theme with a theme.properties that specifies that we extend an other theme ? I made a theme that extends xhtml and set it as the default one in struts.properties. But every template I didn't rewrite causes an exception when the related tag is used. The problem is that Struts does not look in the parent theme when it does not found a template. What I don't understand is that this mechanism is working for the css_xhtml theme that does not redefine every templates and extends xhtml. Am I missing something? -- Aymeric -- View this message in context: http://www.nabble.com/Cannot-extend-a-theme-tf4217548.html#a11998722 Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [S2] ClassCastException on getParameters
Why can't you access the HttpServletRequest object using ServletActionContext.getRequest() and then just use the getParameter() method to get the request parameters? If you're getting a ClassCastException it's because you're casting something that isn't a String to a String. Find out what the type of that object is and go from there. It's simple debugging really. Zarar On 8/2/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > Hi all, > I'm having big trouble while trying to acces to the parameters values. > I'm simply trying to retrieve a parameter value from my interceptor class. > The Action class that is intercepted implements the ParameterAware > interface and has getter and setter method > related to parameters attribute which is a Map. > Here is the sample code. > > public String intercept(ActionInvocation invocation) throws Exception > { > ActionSupport action = (ActionSupport) > invocation.getAction(); > Map session = > invocation.getInvocationContext().getSession(); > Map parameters = > invocation.getInvocationContext().getParameters(); > String loginAttempt = > (String)parameters.get(Constants.LOGIN_ATTEMPT_KEY); > > > return invocation.invoke (); > } > > When the line in bold is reached, I' getting a ClassCastException. > > Here is an extract of the stacktrace > > > java.lang.ClassCastException: [Ljava.lang.String; at > com.natixis.media.interceptors.AuthenticationInterceptor.intercept(AuthenticationInterceptor.java:42) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) > at > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221) > at > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150) > at > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling > > Can someone tells me what I'm missing. > Thank in advance. > Meissa > > L'integrite de ce message n'etant pas assuree sur internet, Natixis ne peut > etre tenu responsable de son contenu. Toute utilisation ou diffusion non > autorisee est interdite. Si vous n'etes pas destinataire de ce message, merci > de le detruire et d'avertir l'expediteur. > Ensemble, faisons un geste pour l'environnement : n'imprimons nos mails que > si necessaire > > The integrity of this message cannot be guaranteed on the Internet. Natixis > can not therefore be considered responsible for the contents. Any > unauthorized use or dissemination is prohibited. If you are not the intended > recipient of this message, then please delete it and notify the sender. > Let us mind the environment : let's print our mails only when necessary. > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [s1] action paths not resolving correctly
thanks for the advice. I just did that a couple of days ago and got it fixed. I noticed it was working from within an and was not working from within a tag... (which I put in while doing some other ajax stuff). I replaced the > I can't tell you anything definitive, since you didn't include all your > relevant code. I would suggest starting by simplifying things as much as > possible. Take out all your Javascript and strip the page down to just a > form with a couple of submit buttons dispatching to different methods. > > Once you get that working, start adding functionality back in one piece > at a time until you find out what's broken. Fix, and continue. > > L. > > robinbajaj wrote: >> Hi All, >> I have done this before with success, don't know where am I missing some >> bit >> this time. >> >> I have a dispatchAction with the following mapping. >> > input="page.addNewPatient" >> name="navigatePatientForm" >> parameter="do" >> path="/navigatePatient" >> scope="request" >> type="com.bcdrg.struts.action.NavigatePatientAction" >> validate="true"> >> >> >> >> >> >> >> when I call this dispatch action from a link >> >> navigatePatient.do?do=getFirstPatient >> it works fine, the url requested when i click on this link is >> http://localhost://navigatePatient.do?do=getFirstPatient >> >> however, when I call the same dispatch action from a regular button, like >> shown below: >> >> > >> onclick='setup("getFirstPatient");defaultsetup();document.forms["navigatePatientForm"].submit();'> >> >> where setup and defaultsetup are two javascript functions that only setup >> some parameters. >> But the problem is the url being requested in the browser in this case is >> : >> >> http://localhost:/navigatePatient?do=getFirstPatient >> >> please note that the is missing here, which is why i get >> the >> http 404 error message. >> >> I don't understand why is the missing in the second url >> request. >> >> here's my form tag for this form..which seems to be fine too >> > onsubmit="return OK();"> >> >> any helpful pointers will be much appreciated, >> thanks, >> robin > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/-s1--action-paths-not-resolving-correctly-tf4204252.html#a11997100 Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Problems migrating Roller to Struts 2.0.9
2007/8/4, Dave <[EMAIL PROTECTED]>: > We've been on Struts 2.0.6 and a Tiles 2.0 pre-release > (2.0-20070207.130156-4) for a while now in the Roller trunk. After > seeing the recent news about XSS dangers we decided to upgrade to > 2.0.9. before we make our next release. > > So I downloaded 2.0.9. First, I found that the old Tiles listener > "org.apache.tiles.listener.TilesListener" is gone. Wrong, it has been renamed to org.apache.tiles.web.startup.TilesListener. > DEBUG 2007-08-03 17:34:03,725 BasicTilesContainer:render - Dispatching > to definition path '/WEB-INF/jsps/tiles/tiles-simplepage.jsp ' > ERROR 2007-08-03 17:34:05,180 RoleSecurityTagSupport:doEndTag - Error > executing tag: Attribute 'head' not found. > org.apache.tiles.TilesException: Attribute 'head' not found. > at > org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:112) > at > org.apache.tiles.jsp.taglib.RenderTagSupport.execute(RenderTagSupport.java:171) Err... did you upgrade your Tiles definitions files and JSP pages? Anyway here is the place to look: http://tiles.apache.org/ Antonio - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [S2] ClassCastException on getParameters
Hi , Even i am also facing the same issue. If any body is having please share with us.. It is returning the String array[] . But how it will return string[] if we enter normal text also... Thanks Ravi On 8/2/07, [EMAIL PROTECTED] < [EMAIL PROTECTED]> wrote: > > > Hi all, > I'm having big trouble while trying to acces to the parameters values. > I'm simply trying to retrieve a parameter value from my interceptor class. > The Action class that is intercepted implements the ParameterAware > interface and has getter and setter method > related to parameters attribute which is a Map. > Here is the sample code. > > public String intercept(ActionInvocation invocation) throws Exception > { > ActionSupport action = (ActionSupport) > invocation.getAction(); > Map session = > invocation.getInvocationContext().getSession(); > Map parameters = > invocation.getInvocationContext().getParameters(); > String loginAttempt = > (String)parameters.get(Constants.LOGIN_ATTEMPT_KEY); > > > return invocation.invoke (); > } > > When the line in bold is reached, I' getting a ClassCastException. > > Here is an extract of the stacktrace > > > java.lang.ClassCastException: [Ljava.lang.String; at > com.natixis.media.interceptors.AuthenticationInterceptor.intercept( > AuthenticationInterceptor.java:42) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling( > DefaultActionInvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling( > DefaultActionInvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile( > UtilTimerStack.java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:221) > at > com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept > (DefaultWorkflowInterceptor.java:221) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept( > MethodFilterInterceptor.java:86) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling( > DefaultActionInvocation.java:224) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling( > DefaultActionInvocation.java:223) > at > com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile( > UtilTimerStack.java:455) > at > com.opensymphony.xwork2.DefaultActionInvocation.invoke( > DefaultActionInvocation.java:221) > at > com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept( > ValidationInterceptor.java:150) > at > > org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept > (AnnotationValidationInterceptor.java:48) > at > com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept( > MethodFilterInterceptor.java:86) > at > com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling( > DefaultActionInvocation.java:224) > at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling > > Can someone tells me what I'm missing. > Thank in advance. > Meissa > > L'integrite de ce message n'etant pas assuree sur internet, Natixis ne > peut etre tenu responsable de son contenu. Toute utilisation ou diffusion > non autorisee est interdite. Si vous n'etes pas destinataire de ce message, > merci de le detruire et d'avertir l'expediteur. > Ensemble, faisons un geste pour l'environnement : n'imprimons nos mails > que si necessaire > > The integrity of this message cannot be guaranteed on the Internet. > Natixis can not therefore be considered responsible for the contents. Any > unauthorized use or dissemination is prohibited. If you are not the intended > recipient of this message, then please delete it and notify the sender. > Let us mind the environment : let's print our mails only when necessary. >
Re: [s2] Is it possible to replace/supplement i18n resolution logic?
We did something similar to what you are suggesting. We still use properties files, but we replaced much of the lookup with our own classes. We created a wrapper around ResourceBundle which has overloaded 'getText()' methods. We make this accessible to all parts of the app with a ThreadLocal object which incorporates the current Locale, and has a 'getMessageProvider()' method. The 'MessageProvider' has the 'getText(key, args)' methods. We did this because the non-Struts modules of the app need Message Support also, and so in order to keep the Struts artifacts out of these modules, we did the extra work. The process of replacing messaging in the JSP pages was too daunting, so we still use the S2 tags to resolve those messages. Our module uses the same ResourceBundle files as the Struts module. However we created our own tag library to replace the s:text tag in some instances where the action isn't S2 (sometimes it is S1, sometimes it is JSF). I think the ideal solution would be to move all the messaging resources into a new Commons project (commons-messaging??), and to access to the messaging service as an interface abstraction. That way the choice of messaging service would be more flexible. Changing the S2 messaging system would require overriding the 'getText()' methods in the ActionSupport class, as well as changing the way that the S2 tags get their messages. That would be a pretty huge job, and would take a huge amount of refactoring of the S2 code base. However, IMHO the S2 tags are really poor, so replacing them completely with a new library would be an excellent step. What I dislike most about the S2 tags is that their syntax is confusing, and very un-jsp-like. They don't allow runtime expressions (like the jstl tags), requiring the use of s:set to create properties which are then de-referenced in the UI tags. Also the syntax for accessing OGNL is particularly incongruous. Some tags require using both a "%" and a "#" within one tag. A lot of this is the result of trying to make a tag library that is flexible enough to work in environments other than JSP, but I believe a lot of it is due to the 'hobby-like' nature of S2 (I was not involved, so this is speculation on my part). The evolution of WebWork from Struts allowed the WW developers to 'try things out', and when the project was remerged into S2, many design decisions which should have been reversed were found to be too much trouble. So the 'try things out' features remain to bedevil the S2 application architecture. The very worst feature (again IMHO) is the mandatory use of themes. The other very worst feature is the result 'type' feature which mandates that only one rendering type can be used in any one page. For example, if you are using the Tiles plugin with 'type=tiles', you can't use the jsf plugin with 'type=jsf'. This has mandated that we don't use any plugins at all. Of course, this isn't a big loss because the most of plugins are very very very ... very buggy and do not appear to be in current development, as judged by their still poor implementations. Another very worst feature is the translation of the word "POJO" to equal "Java Bean", and means that everything has getters and setters everywhere, which makes the apps developed with it poorly encapsulated and difficult to maintain (the designers of S2 definitely did not read, or did not comprehend, or did not believe, the central theme of "Why Getters and Setters are Evil"). Sorry for the rant, but I do like many of the S2 features well enough that I continue to use it, and the S2 architecture is definitely better than S1 (death to ActionForm!). - Ray Clough > - Original Message - > From: "Don Brown" <[EMAIL PROTECTED]> > To: "Struts Users Mailing List" > Subject: Re: [s2] Is it possible to replace/supplement i18n resolution logic? > Date: Sat, 4 Aug 2007 12:30:09 +1000 > > > On 8/4/07, mraible <[EMAIL PROTECTED]> wrote: > > > > With Struts 2, how would I go about doing the following: > > > > 1. Replace the i18n resolution logic to load key/value pairs from a database > > instead of properties files? > > Well, if your Action class implements TextProvider (as does > ActionSupport), then you can resolve keys any way you'd like. As for > plugging/altering the existing lookup that is used by ActionSupport, > it really isn't possible right now, and I've love to see a patch > making that more flexible... *hint* *hint* :) > > > 2. Add an extra processing step to translate wiki syntax in values to HTML? > > You mean like creating your own template to customize the rendering of > the control? If using Freemarker, there might be a nice way to write > something like the ?html piece that processes returned values. > > Don > > > > > Thanks, > > > > Matt > > -- > > View this message in context: > > http://www.nabble.com/-s2--Is-it-possible-to-replace-supplement-i18n-resolution-logic--tf4214304.html#a119
Gettin the selected item in a s:tree
Hi, I was able to get the selected item from a s:select element, which can be accessed from the property variable that is associated with it. Now I'm trying to do the same with the s:tree element. But it seems as though there is no property object association with s:tree. How would I go about getting a user's tree node selection from code? Thanks, Session - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]