Re: Newbie (possibly RTFM) issue
Hi, can You verify that getter in action is called? Add sysout or debug this place, because if it's not beeing called there will be no result on the page. This would suite to nothing is rendered in s:textfield, not the s:text! Best greetings, Pawel Wielgus. 2009/6/15, chumbobumbo chumbobu...@hotmail.com: Sorry to report but s:if test=%{model.testBool.booleanValue()}/ does nothing, also s:text name=%{model.testBool.booleanValue()}/ renders nothing in the resulting html page; now I know that testBool is 'true' because I am running it through the debugger. I am also runnning this under Java 1.6 so autoboxing should work as noted in one of the previous posts. I am completely lost for any other ideas.. Any help is greatly appreciated, C. chumbobumbo wrote: I am using Struts 2.1.6 if I have model like this: public class model { private Boolean testBool; private boolean testbool; ... public getters and setters for both follow ... } I find that in my corresponding jsp page (assumming that both testbool and testBool are initialised to true and that private member 'model' is available through its getter and a setter from within the action class) s:if test=%{model.testbool}/ evaluates to true, while s:if test=%{model.testBool}/ does not I am highly suspicious that I may be doing something fundamentally wrong as there is a complete absence of posts out there complaining about not being able to evaluate Boolean. Is there something I am missing here? Any help is appreciated, Regards, C -- View this message in context: http://www.nabble.com/Newbie-%28possibly-RTFM%29-issue-tp24032216p24042314.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Interceptor issue in Struts 2.1.6
Hi, I am trying to use the following simple interceptor test the interceptor concepts but is not happened while calling the action class. Sample interceptor class. *import* *com.opensymphony.xwork2.ActionContext*; *import* com.opensymphony.xwork2.ActionInvocation; *import* com.opensymphony.xwork2.interceptor.AbstractInterceptor; *public* *class* *InterceptorSample* *extends* AbstractInterceptor { @Override *public* String intercept(ActionInvocation invocation) *throws*Exception { // *TODO* Auto-generated method stub System.*out*.println(Testing the interceptor : calling the interceptor sample); *return* success; } } I configured in the struts.xml for my action class using below config. package name=*test* namespace=*/test* extends=*struts-default* * interceptors* *interceptor name=sample class=sample.**InterceptorSample* * /* * /interceptors* action name=*test* class=*test.QuizAction* interceptor-ref name=*sample*/ result name=*success*/input.*jsp*/result result name=*error*/input.*jsp*/result result name=*input*/input.*jsp*/result /action /package I noted nothing printed and anyone can help to resolve the issue. Thanks Yanto
validator issue in Struts 2.16
Hi, I am trying to use the struts validation xml and testing with my action but its not working in struts 2.1.6 . Same code working fine in struts 2.0.6 Any issue in the 2.1.6 version ? Are we need to include any interceptor ? I pasted below my codes.Any one had same issue previously ? Code same: QuizAction-validation.xml: ?xml version=*1.0* encoding=*UTF-8*? !DOCTYPE validators PUBLIC -//OpenSymphony Group//XWork Validator 1.0.2//EN http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd; validators field name=*name* field-validator type=*requiredstring* messageYou must enter a name/message /field-validator /field field name=*age* field-validator type=*int* param name=*min*13/param param name=*max*19/param messageOnly people ages 13 to 19 may take this quiz/message /field-validator /field /validators *package* test; *import* com.opensymphony.xwork2.ActionSupport; *public* *class* QuizAction *extends* ActionSupport { *private* *static* *final* *long* *serialVersionUID* = -7505437345373234225L; String name; *int* age; String answer; *public* String getName() { *return* name; } *public* *void* setName(String name) { *this*.name = name; } *public* *int* getAge() { *return* age; } *public* *void* setAge(*int* age) { *this*.age = age; } *public* String getAnswer() { *return* answer; } *public* *void* setAnswer(String answer) { *this*.answer = answer; } } package name=*test* namespace=*/test* extends=*struts-default* action name=*test* class=*test.QuizAction* result name=*success*/input.*jsp*/result result name=*error*/input.*jsp*/result result name=*input*/input.*jsp*/result /action /package Thanks Yanto
Re: Interceptor issue in Struts 2.1.6
Hi Yanto, use this [1] plugin to verify if all namespaces and stacks are as You think they should be. [1] http://struts.apache.org/2.x/docs/config-browser-plugin.html Best greetings, Paweł Wielgus. 2009/6/16 Yanto yantob...@gmail.com: Hi, I am trying to use the following simple interceptor test the interceptor concepts but is not happened while calling the action class. Sample interceptor class. *import* *com.opensymphony.xwork2.ActionContext*; *import* com.opensymphony.xwork2.ActionInvocation; *import* com.opensymphony.xwork2.interceptor.AbstractInterceptor; *public* *class* *InterceptorSample* *extends* AbstractInterceptor { �...@override *public* String intercept(ActionInvocation invocation) *throws*Exception { // *TODO* Auto-generated method stub System.*out*.println(Testing the interceptor : calling the interceptor sample); *return* success; } } I configured in the struts.xml for my action class using below config. package name=*test* namespace=*/test* extends=*struts-default* * interceptors* * interceptor name=sample class=sample.**InterceptorSample* * /* * /interceptors* action name=*test* class=*test.QuizAction* interceptor-ref name=*sample*/ result name=*success*/input.*jsp*/result result name=*error*/input.*jsp*/result result name=*input*/input.*jsp*/result /action /package I noted nothing printed and anyone can help to resolve the issue. Thanks Yanto - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Struts Validation - Error loading JavaScript Files
Dear all, i'm using struts 2 and validator to validate my form. after login i goto a page where a tree structured menu coded in seperate javascript file is loaded. Till the time my login is correct , i get the page. When i enter incorrect login/pwd or leaving any one blank, validator fails login as it should. Now after that even if i login with the correct login , the javascript file is not loaded. i am able to display other jsp elements. but the javascript files are not loaded. please guide me regarding the same. -- View this message in context: http://www.nabble.com/Struts-Validation---Error-loading-JavaScript-Files-tp24049580p24049580.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
download file
please can anyone send me the cplete code to create an action which allows to download a file -- View this message in context: http://www.nabble.com/download-file-tp24050039p24050039.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: download file
Hi, read this: http://struts.apache.org/2.0.6/docs/stream-result.html and this (note that it's to much as for a simple download but that's what i've got): package com.ppp.oko.struts.action.motion.file; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.text.ParseException; import java.util.Map; import javax.servlet.ServletContext; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.interceptor.SessionAware; import org.apache.struts2.util.ServletContextAware; import com.opensymphony.xwork2.ActionSupport; import com.pi.eplatform.suirz.common.DateRepresentation; import com.ppp.oko.logic.MotionFile; import com.ppp.oko.logic.user.Obserwator; import com.ppp.oko.logic.user.User; import com.ppp.oko.persistence.prevayler.Motion; @Result(name=success, type=stream, params={contentType, image/jpeg}) public class ShowAction extends ActionSupport implements ServletContextAware, SessionAware { private static final long serialVersionUID = 1L; private String number; private String date; private long id; private ServletContext sc; private MapString, Object sessionMap; public InputStream getInputStream() throws ParseException, FileNotFoundException { Motion motion = ((Obserwator) sessionMap.get(User.class.toString())).getMotion(new DateRepresentation(date), number); MotionFile motionFile = motion.getMotionFile(id); String appPath = sc.getRealPath(.); String pathname = appPath+/WEB-INF/user/fotki/+motionFile.getMotionFileName(); return new FileInputStream(new File(pathname)); } public void setNumber(String number) { this.number = number; } public void setDate(String date) { this.date = date; } public void setId(long id) { this.id = id; } @Override public void setServletContext(ServletContext arg0) { this.sc = arg0; } @Override public void setSession(MapString, Object map) { this.sessionMap = map; } } Hope that helps, Paweł Wielgus. 2009/6/16 PEGASUS84 pegasu...@hotmail.it: please can anyone send me the cplete code to create an action which allows to download a file -- View this message in context: http://www.nabble.com/download-file-tp24050039p24050039.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: download file
Right it's really too much because i've not many packages that you've used. is there a more simple code ? -- View this message in context: http://www.nabble.com/download-file-tp24050039p24050650.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: download file
Nope, that's all i've got, but You can try to remove all that's unimportant. Best greetings, Paweł Wielgus. 2009/6/16 PEGASUS84 pegasu...@hotmail.it: Right it's really too much because i've not many packages that you've used. is there a more simple code ? -- View this message in context: http://www.nabble.com/download-file-tp24050039p24050650.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: Interceptor issue in Struts 2.1.6
Hi Pawel, thanks for the link we already check the interceptor for the namespace, and it's showing the interceptor yang we configure in the config-browser-plugin TimerInterceptor com.opensymphony.xwork2.interceptor.TimerInterceptor but, when we check from the Apache console, the interceptor is not in the console log for 2.1.6, when we run the same code in the 2.0.6 at the end of the apache log, it show the interceptor is envoked. Is there any additional configuration need to be setup to enable the interceptor in 2.1.6 ? beside the one we already setup as in previous email. Name Type ExceptionMappingInterceptor com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor AliasInterceptor com.opensymphony.xwork2.interceptor.AliasInterceptor ServletConfigInterceptor org.apache.struts2.interceptor.ServletConfigInterceptor I18nInterceptor com.opensymphony.xwork2.interceptor.I18nInterceptor PrepareInterceptor com.opensymphony.xwork2.interceptor.PrepareInterceptor ChainingInterceptor com.opensymphony.xwork2.interceptor.ChainingInterceptor DebuggingInterceptor org.apache.struts2.interceptor.debugging.DebuggingInterceptor ProfilingActivationInterceptor org.apache.struts2.interceptor.ProfilingActivationInterceptor ScopedModelDrivenInterceptor com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor ModelDrivenInterceptor com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor FileUploadInterceptor org.apache.struts2.interceptor.FileUploadInterceptor CheckboxInterceptor org.apache.struts2.interceptor.CheckboxInterceptor StaticParametersInterceptor com.opensymphony.xwork2.interceptor.StaticParametersInterceptor ActionMappingParametersInteceptor org.apache.struts2.interceptor.ActionMappingParametersInteceptor ParametersInterceptor com.opensymphony.xwork2.interceptor.ParametersInterceptor StrutsConversionErrorInterceptor org.apache.struts2.interceptor.StrutsConversionErrorInterceptor AnnotationValidationInterceptor org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor DefaultWorkflowInterceptor com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor TimerInterceptor com.opensymphony.xwork2.interceptor.TimerInterceptor Thanks Yanto 2009/6/16 Paweł Wielgus poulw...@gmail.com Hi Yanto, use this [1] plugin to verify if all namespaces and stacks are as You think they should be. [1] http://struts.apache.org/2.x/docs/config-browser-plugin.html Best greetings, Paweł Wielgus. 2009/6/16 Yanto yantob...@gmail.com: Hi, I am trying to use the following simple interceptor test the interceptor concepts but is not happened while calling the action class. Sample interceptor class. *import* *com.opensymphony.xwork2.ActionContext*; *import* com.opensymphony.xwork2.ActionInvocation; *import* com.opensymphony.xwork2.interceptor.AbstractInterceptor; *public* *class* *InterceptorSample* *extends* AbstractInterceptor { @Override *public* String intercept(ActionInvocation invocation) *throws*Exception { // *TODO* Auto-generated method stub System.*out*.println(Testing the interceptor : calling the interceptor sample); *return* success; } } I configured in the struts.xml for my action class using below config. package name=*test* namespace=*/test* extends=*struts-default* * interceptors* *interceptor name=sample class=sample.**InterceptorSample* * /* * /interceptors* action name=*test* class=*test.QuizAction* interceptor-ref name=*sample*/ result name=*success*/input.*jsp*/result result name=*error*/input.*jsp*/result result name=*input*/input.*jsp*/result /action /package I noted nothing printed and anyone can help to resolve the issue. Thanks Yanto - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: download file
sorry, i don't succeed i haven't idea -- View this message in context: http://www.nabble.com/download-file-tp24050039p24051122.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: download file
You can't expect someone else to write your code for you... What have you tried? What errors did you get? You have to at least provide some informatino for us to help you. Nils-H On Tue, Jun 16, 2009 at 11:54 AM, PEGASUS84pegasu...@hotmail.it wrote: sorry, i don't succeed i haven't idea -- View this message in context: http://www.nabble.com/download-file-tp24050039p24051122.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: download file
my action is this: public class FileDownload extends ActionSupport { InputStream inputStream; public void setInputStream(InputStream s){inputStream=s;} public InputStream getInputStream(){return inputStream;} public String execute(){ return sendFile; } } and in Struts.xml i've this: action name=fileDownload class=action.FileDownload result name=sendFile type=stream ${contentType} /result /action i wish to download a file -- View this message in context: http://www.nabble.com/download-file-tp24050039p24051377.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: Interceptor issue in Struts 2.1.6
after we add validationWorkflowStack interceptor before the timer, then the timer interceptor will show the result, interceptor-ref name=validationWorkflowStack/ interceptor-ref name=timer/ if we use the above in the action it is printing the timer value like below [2009-06-16 18:03:41,218] INFO com.opensymphony.xwork2.interceptor.TimerInterceptor - Executed action [//authentication!authentication] took 93 ms. is this the configuration requirement of the interceptor in 2.1.6 ? Thanks Yanto 2009/6/16 Yanto yantob...@gmail.com Hi Pawel, thanks for the link we already check the interceptor for the namespace, and it's showing the interceptor yang we configure in the config-browser-plugin TimerInterceptor com.opensymphony.xwork2.interceptor.TimerInterceptor but, when we check from the Apache console, the interceptor is not in the console log for 2.1.6, when we run the same code in the 2.0.6 at the end of the apache log, it show the interceptor is envoked. Is there any additional configuration need to be setup to enable the interceptor in 2.1.6 ? beside the one we already setup as in previous email. Name Type ExceptionMappingInterceptor com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor AliasInterceptor com.opensymphony.xwork2.interceptor.AliasInterceptor ServletConfigInterceptor org.apache.struts2.interceptor.ServletConfigInterceptor I18nInterceptor com.opensymphony.xwork2.interceptor.I18nInterceptor PrepareInterceptor com.opensymphony.xwork2.interceptor.PrepareInterceptor ChainingInterceptor com.opensymphony.xwork2.interceptor.ChainingInterceptor DebuggingInterceptor org.apache.struts2.interceptor.debugging.DebuggingInterceptor ProfilingActivationInterceptor org.apache.struts2.interceptor.ProfilingActivationInterceptor ScopedModelDrivenInterceptor com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor ModelDrivenInterceptor com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor FileUploadInterceptor org.apache.struts2.interceptor.FileUploadInterceptor CheckboxInterceptor org.apache.struts2.interceptor.CheckboxInterceptor StaticParametersInterceptor com.opensymphony.xwork2.interceptor.StaticParametersInterceptor ActionMappingParametersInteceptor org.apache.struts2.interceptor.ActionMappingParametersInteceptor ParametersInterceptor com.opensymphony.xwork2.interceptor.ParametersInterceptor StrutsConversionErrorInterceptor org.apache.struts2.interceptor.StrutsConversionErrorInterceptor AnnotationValidationInterceptor org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor DefaultWorkflowInterceptor com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor TimerInterceptor com.opensymphony.xwork2.interceptor.TimerInterceptor Thanks Yanto 2009/6/16 Paweł Wielgus poulw...@gmail.com Hi Yanto, use this [1] plugin to verify if all namespaces and stacks are as You think they should be. [1] http://struts.apache.org/2.x/docs/config-browser-plugin.html Best greetings, Paweł Wielgus. 2009/6/16 Yanto yantob...@gmail.com: Hi, I am trying to use the following simple interceptor test the interceptor concepts but is not happened while calling the action class. Sample interceptor class. *import* *com.opensymphony.xwork2.ActionContext*; *import* com.opensymphony.xwork2.ActionInvocation; *import* com.opensymphony.xwork2.interceptor.AbstractInterceptor; *public* *class* *InterceptorSample* *extends* AbstractInterceptor { @Override *public* String intercept(ActionInvocation invocation) *throws*Exception { // *TODO* Auto-generated method stub System.*out*.println(Testing the interceptor : calling the interceptor sample); *return* success; } } I configured in the struts.xml for my action class using below config. package name=*test* namespace=*/test* extends=*struts-default* * interceptors* *interceptor name=sample class=sample.**InterceptorSample* * /* * /interceptors* action name=*test* class=*test.QuizAction* interceptor-ref name=*sample*/ result name=*success*/input.*jsp*/result result name=*error*/input.*jsp*/result result name=*input*/input.*jsp*/result /action /package I noted nothing printed and anyone can help to resolve the issue. Thanks Yanto - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: download file
And where does your input stream come from? On Tue, Jun 16, 2009 at 12:11 PM, PEGASUS84pegasu...@hotmail.it wrote: my action is this: public class FileDownload extends ActionSupport { InputStream inputStream; public void setInputStream(InputStream s){inputStream=s;} public InputStream getInputStream(){return inputStream;} public String execute(){ return sendFile; } } and in Struts.xml i've this: action name=fileDownload class=action.FileDownload result name=sendFile type=stream ${contentType} /result /action i wish to download a file -- View this message in context: http://www.nabble.com/download-file-tp24050039p24051377.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: download file
PEGASUS84 wrote: my action is this: public class FileDownload extends ActionSupport { InputStream inputStream; public void setInputStream(InputStream s){inputStream=s;} public InputStream getInputStream(){return inputStream;} public String execute(){ return sendFile; } } and in Struts.xml i've this: action name=fileDownload class=action.FileDownload result name=sendFile type=stream ${contentType} /result /action i wish to download a file So you'll need a contentType action property. If you look at Pawel's email you'll see where he opens a file and uses it as the input stream: String pathname = appPath + /WEB-INF/user/fotki/ + motionFile.getMotionFileName(); return new FileInputStream(new File(pathname)); There's also a complete example in the showcase application. Dave - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: Interceptor issue in Struts 2.1.6
Yanto wrote: action name=test class=test.QuizAction interceptor-ref name=sample / /action This will configure *only* the sample interceptor. If you specify *any* interceptors on a per-action basis you must configure *all* interceptors. This can be done in several ways. - specify all interceptors in the action's configuration (you can specify interceptor stacks as well as single interceptors) - creating a new stack including your custom interceptor and using that stack in your action configuration - same, but define the new stack and using it as the default stack Dave - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Struts Flow in JSP,Servlets Project
Dear All, GoodDay...! Im beginner for Struts programming. I hv started developing a Struts project. I have many doubt can u please clarify my doubt i have a jsp page which contains the input data(name password). When i click the submit button, data will have to store in the database. i usally used to write DB connection code definition of DB(prepared Statements) in servlet. But while using struts Where i have to write the code for DB connection definition... When i click the submit button in JSP... what is the flow in the struts project. What are all the required files(servlets,java bean,action class,action form like that...) Please tell me the flow I hv refered many books... but i didnt get the answer to my point -- View this message in context: http://www.nabble.com/Struts-Flow-in-JSP%2CServlets-Project-tp24054020p24054020.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
OT: Problem with IE6 and JQuery (?)
Hi, we have a struts2 application and we implemented the ajax functions with jquery. We now load some html tables with ajax in different divs. Now we have the phenomenon that some text fragments of a td is displayed under the table, but I can't find it somewhere in the dom tree. When I mark the fragment also the text in the td is marked. Very strange. Does anyone know this phenomenon? Best Regards, Marc - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: OT: Problem with IE6 and JQuery (?)
Usually that means you have the td outside the table tag somehow. Is that table terminated in the middle of your setup and not restarted? Marc Eckart-2 wrote: Hi, we have a struts2 application and we implemented the ajax functions with jquery. We now load some html tables with ajax in different divs. Now we have the phenomenon that some text fragments of a td is displayed under the table, but I can't find it somewhere in the dom tree. When I mark the fragment also the text in the td is marked. Very strange. Does anyone know this phenomenon? Best Regards, Marc - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org -- View this message in context: http://www.nabble.com/OT%3A-Problem-with-IE6-and-JQuery-%28-%29-tp24056118p24056377.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
RE: OT: Problem with IE6 and JQuery (?)
Marc- plugin was rewritten as there were a number of missing components Kind Regards Martin __ Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen. Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni. Date: Tue, 16 Jun 2009 08:09:05 -0700 From: dustin_pea...@yahoo.com To: user@struts.apache.org Subject: Re: OT: Problem with IE6 and JQuery (?) Usually that means you have the td outside the table tag somehow. Is that table terminated in the middle of your setup and not restarted? Marc Eckart-2 wrote: Hi, we have a struts2 application and we implemented the ajax functions with jquery. We now load some html tables with ajax in different divs. Now we have the phenomenon that some text fragments of a td is displayed under the table, but I can't find it somewhere in the dom tree. When I mark the fragment also the text in the td is marked. Very strange. Does anyone know this phenomenon? Best Regards, Marc - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org -- View this message in context: http://www.nabble.com/OT%3A-Problem-with-IE6-and-JQuery-%28-%29-tp24056118p24056377.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-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
Mapped back UI and #status.index driven names
How is that for a subject line? I always wonder what I would search for myself :working: I had a guy tell me that a struts web tag was generating an absurd number of method calls on his action/model. After carefully considering his scenario, I was able to experiment using the files below. When the page is loaded a single call is made to the getThings() which returns one instance of Thing. However, when the submit is clicked, the getThings() is called 33 times! Before I bury my head in code, can anyone see why this might be the case? The Parameters interceptor is in the stack one time and the generated HTML is generating this single parameter: input type=text name=things[0].name value=foo id=mapBackedUIsaveList_things_0__name/ Action: public class ListAction extends BaseAction { private static ListThing things; public ListThing getThings() { if (things == null) { things = new ArrayList(); things.addAll(Thing.getThings()); } return things; } public void setThings(ListThing things) { this.things = things; } public String list() throws Exception { return SUCCESS; } public String saveList() throws Exception { return SUCCESS; } } Page: s:form action=mapBackedUIsaveList table tr td Name /td /tr s:iterator value=things status=status tr td /td td s:textfield name=things[%{#status.index}].name value=%{name} / /td td /td /tr /s:iterator /table s:submit / /s:form Bean: public class Thing { private String name; get/set } -- View this message in context: http://www.nabble.com/Mapped-back-UI-and--status.index-driven-names-tp24057659p24057659.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re-establish the Session
Hi, I have session recovering problem and I don't know how to do it, I hope you can help me. I use FileUploader to upload a file: http://www.sitepen.com/blog/2008/12/01/dojox-fileuploader-upgrade-to-support-flash-10/. It seems to upload the file but I have lost my session in my Action class and as a consequence I can't validate the user who uploaded the file. They say one solution could be sending the session ID to the server side and recover the session, but I don't know how to recover it in Struts2. *The uploader not sending cookies is a Flash bug: **http://bugs.adobe.com/jira/browse/FP-201*http://bugs.adobe.com/jira/browse/FP-201 *Headers can be sent in an UrlRequest Header, but I don’t know if it would work around your problem, as it is very restricted. The way I had done it in the past is to get the user and session IDs and pass those as vars along with the upload. That’s why I implemented the postVars in the latest version.* I can find the session ID before sending jsp upload form with: HttpSession session session.getId() Thanks in advance for your help -- Rafael Taboada Software Engineer Cell : +511-992741026 No creo en el destino pues no me gusta tener la idea de controlar mi vida
RE: Mapped back UI and #status.index driven names
code for addAll? code for Thing.getThings()? struts.xml action config for mapBackedUIsaveList? thanks, Martin __ Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen. Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni. Date: Tue, 16 Jun 2009 09:10:10 -0700 From: stanl...@gmail.com To: user@struts.apache.org Subject: Mapped back UI and #status.index driven names How is that for a subject line? I always wonder what I would search for myself :working: I had a guy tell me that a struts web tag was generating an absurd number of method calls on his action/model. After carefully considering his scenario, I was able to experiment using the files below. When the page is loaded a single call is made to the getThings() which returns one instance of Thing. However, when the submit is clicked, the getThings() is called 33 times! Before I bury my head in code, can anyone see why this might be the case? The Parameters interceptor is in the stack one time and the generated HTML is generating this single parameter: input type=text name=things[0].name value=foo id=mapBackedUIsaveList_things_0__name/ Action: public class ListAction extends BaseAction { private static ListThing things; public ListThing getThings() { if (things == null) { things = new ArrayList(); things.addAll(Thing.getThings()); } return things; } public void setThings(ListThing things) { this.things = things; } public String list() throws Exception { return SUCCESS; } public String saveList() throws Exception { return SUCCESS; } } Page: s:form action=mapBackedUIsaveList table tr td Name /td /tr s:iterator value=things status=status tr td /td td s:textfield name=things[%{#status.index}].name value=%{name} / /td td /td /tr /s:iterator /table s:submit / /s:form Bean: public class Thing { private String name; get/set } -- View this message in context: http://www.nabble.com/Mapped-back-UI-and--status.index-driven-names-tp24057659p24057659.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org _ Microsoft brings you a new way to search the web. Try Bing™ now http://www.bing.com?form=MFEHPGpubl=WLHMTAGcrea=TEXT_MFEHPG_Core_tagline_try bing_1x1
RE: Mapped back UI and #status.index driven names
It's never enough FOR YOU PEOPLE!!! =^D public static Collection? extends Thing getThings() { ArrayListThing things = new ArrayListThing(); things.add(new Thing(1, foo, 1.95f)); return things; } action name=mapBackedUI* method={1} class=acme.action.ListAction result displayTile-{1} /result /action mgainty wrote: code for addAll? code for Thing.getThings()? struts.xml action config for mapBackedUIsaveList? thanks, Martin __ Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen. Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni. Date: Tue, 16 Jun 2009 09:10:10 -0700 From: stanl...@gmail.com To: user@struts.apache.org Subject: Mapped back UI and #status.index driven names How is that for a subject line? I always wonder what I would search for myself :working: I had a guy tell me that a struts web tag was generating an absurd number of method calls on his action/model. After carefully considering his scenario, I was able to experiment using the files below. When the page is loaded a single call is made to the getThings() which returns one instance of Thing. However, when the submit is clicked, the getThings() is called 33 times! Before I bury my head in code, can anyone see why this might be the case? The Parameters interceptor is in the stack one time and the generated HTML is generating this single parameter: input type=text name=things[0].name value=foo id=mapBackedUIsaveList_things_0__name/ Action: public class ListAction extends BaseAction { private static ListThing things; public ListThing getThings() { if (things == null) { things = new ArrayList(); things.addAll(Thing.getThings()); } return things; } public void setThings(ListThing things) { this.things = things; } public String list() throws Exception { return SUCCESS; } public String saveList() throws Exception { return SUCCESS; } } Page: s:form action=mapBackedUIsaveList table tr td Name /td /tr s:iterator value=things status=status tr td /td td s:textfield name=things[%{#status.index}].name value=%{name} / /td td /td /tr /s:iterator /table s:submit / /s:form Bean: public class Thing { private String name; get/set } -- View this message in context: http://www.nabble.com/Mapped-back-UI-and--status.index-driven-names-tp24057659p24057659.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org _ Microsoft brings you a new way to search the web. Try Bing™ now http://www.bing.com?form=MFEHPGpubl=WLHMTAGcrea=TEXT_MFEHPG_Core_tagline_try bing_1x1 -- View this message in context: http://www.nabble.com/Mapped-back-UI-and--status.index-driven-names-tp24057659p24058089.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
AJAX loading
Hello, Could anyone give me some idea about how to set a loading image in a DIV while executing an AJAX action? For example: I click a s:a theme=ajax targets=someDiv. I want someDiv to show a customized loading image while it is loading. What's the easiest or best way to achieve this? I have considered changing the templates that show the loading text to print an img. Is this the only way? I am using Struts 2.0.14. Thanks a lot. Felipe Fraga - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: Newbie (possibly RTFM) issue
Yeah, it's called isTestBool (but I tried with getTestBool as well) neither work, I enabled the debug console adn if I output the stack values in my browser is says that 'no read method is available, listing testBool as 'String' whereas the testbool (primitive boolean) is reported correctly as 'true' and is (ironically) of the right type 'Boolean' a this stage I thikn it's definitely a Struts/OGNL issue Cheers, C. Paweł Wielgus wrote: Hi, can You verify that getter in action is called? Add sysout or debug this place, because if it's not beeing called there will be no result on the page. This would suite to nothing is rendered in s:textfield, not the s:text! Best greetings, Pawel Wielgus. 2009/6/15, chumbobumbo chumbobu...@hotmail.com: Sorry to report but s:if test=%{model.testBool.booleanValue()}/ does nothing, also s:text name=%{model.testBool.booleanValue()}/ renders nothing in the resulting html page; now I know that testBool is 'true' because I am running it through the debugger. I am also runnning this under Java 1.6 so autoboxing should work as noted in one of the previous posts. I am completely lost for any other ideas.. Any help is greatly appreciated, C. chumbobumbo wrote: I am using Struts 2.1.6 if I have model like this: public class model { private Boolean testBool; private boolean testbool; ... public getters and setters for both follow ... } I find that in my corresponding jsp page (assumming that both testbool and testBool are initialised to true and that private member 'model' is available through its getter and a setter from within the action class) s:if test=%{model.testbool}/ evaluates to true, while s:if test=%{model.testBool}/ does not I am highly suspicious that I may be doing something fundamentally wrong as there is a complete absence of posts out there complaining about not being able to evaluate Boolean. Is there something I am missing here? Any help is appreciated, Regards, C -- View this message in context: http://www.nabble.com/Newbie-%28possibly-RTFM%29-issue-tp24032216p24042314.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org -- View this message in context: http://www.nabble.com/Newbie-%28possibly-RTFM%29-issue-tp24032216p24064080.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: Struts Flow in JSP,Servlets Project
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi, 1) your submit button should submit to some action defined in struts.xml. 2) your action class is called (if you have not specified any other, execute is called. 3) the result of your action specifies, which jsp is called next your code for accessing the DB should be called in 2) (better call some service routines that access the database). for more information: RTFM Regards volker sprani.kmraj schrieb: Dear All, GoodDay...! Im beginner for Struts programming. I hv started developing a Struts project. I have many doubt can u please clarify my doubt i have a jsp page which contains the input data(name password). When i click the submit button, data will have to store in the database. i usally used to write DB connection code definition of DB(prepared Statements) in servlet. But while using struts Where i have to write the code for DB connection definition... When i click the submit button in JSP... what is the flow in the struts project. What are all the required files(servlets,java bean,action class,action form like that...) Please tell me the flow I hv refered many books... but i didnt get the answer to my point -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.7 (GNU/Linux) iD8DBQFKOCfYaEMQXBIqssERAsBiAJ9p5OK8mMT02ENsl9zFd4InzMCKhwCffefs d3wcCN/k+pbpxOHGOgdswXI= =Cwon -END PGP SIGNATURE- - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: Interceptor issue in Struts 2.1.6
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi, sounds like you mixed up interceptors and action classes. Look at *http://struts.apache.org/2.x/docs/interceptors.html *regards Volker Yanto schrieb: Hi, I am trying to use the following simple interceptor test the interceptor concepts but is not happened while calling the action class. Sample interceptor class. *import* *com.opensymphony.xwork2.ActionContext*; *import* com.opensymphony.xwork2.ActionInvocation; *import* com.opensymphony.xwork2.interceptor.AbstractInterceptor; *public* *class* *InterceptorSample* *extends* AbstractInterceptor { @Override *public* String intercept(ActionInvocation invocation) *throws*Exception { // *TODO* Auto-generated method stub System.*out*.println(Testing the interceptor : calling the interceptor sample); *return* success; } } I configured in the struts.xml for my action class using below config. package name=*test* namespace=*/test* extends=*struts-default* * interceptors* *interceptor name=sample class=sample.**InterceptorSample* * /* * /interceptors* action name=*test* class=*test.QuizAction* interceptor-ref name=*sample*/ result name=*success*/input.*jsp*/result result name=*error*/input.*jsp*/result result name=*input*/input.*jsp*/result /action /package I noted nothing printed and anyone can help to resolve the issue. Thanks Yanto - -- - --- Volker Karlmeier Friedrich-Freye-Str. 61 45481 Mülheim/Ruhr Tel. : (+49) 208-7785675 Mobil: (+49) 176-21056587 Mail : vol...@magiccode.eu -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.7 (GNU/Linux) iD8DBQFKOCg7aEMQXBIqssERAgRaAKCbsdFrzAFxuk8Rva9B6XVPOy8jeACfQ2XS 53yea3su5lVImf1ZabY3JmE= =6PTg -END PGP SIGNATURE- - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: @Results ignored
Lukasz Lenart wrote: As I remember, Dynamic Method Invocation is disabled by default, so you need to enable it: struts.enable.DynamicMethodInvocation = true Turns out that the convention plugin was doing something. Renamed to circumvent. Hope someday to understand convention plugin enough to not have to do circumventions like those. Jim C. signature.asc Description: OpenPGP digital signature
Re: Mapped back UI and #status.index driven names
stanlick wrote: s:textfield name=things[%{#status.index}].name value=%{name} / I'd assume something like getThings().put(index, name). OGNL has to get the map in order to put something into it. Dave - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: Newbie (possibly RTFM) issue
chumbobumbo wrote: Yeah, it's called isTestBool (but I tried with getTestBool as well) neither work, I enabled the debug console adn if I output the stack values in my browser is says that 'no read method is available, listing testBool as 'String' whereas the testbool (primitive boolean) is reported correctly as 'true' and is (ironically) of the right type 'Boolean' a this stage I thikn it's definitely a Struts/OGNL issue What happens when the methods are changed to isTestbool/isTestBool? Dave - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: Interceptor issue in Struts 2.1.6
Hi Dave, after following your note, we are able to run our sample interceptor, however now we have another issue the sample interceptor will always looping, since we have the following code in the sample interceptor, *return* invocation.invoke(); but the sample interceptor will not run, if we are not include this code. == interceptors interceptor name=*sample* class=* com.obs.ssts.framework.interceptor.InterceptorSample*/ interceptor-stack name=*MyInterceptorStack* interceptor-ref name=*prepare*/ interceptor-ref name=*modelDriven*/ interceptor-ref name=*exception*/ interceptor-ref name=*servletConfig*/ interceptor-ref name=*checkbox*/ interceptor-ref name=*params*/ ***interceptor-ref** name=**sample**/*** /interceptor-stack /interceptors default-interceptor-ref name=*MyInterceptorStack*/ action name=*authentication* method=*authentication* class=* loginAction* resultmain.*jsp*/result /action Now my action calls going in loop and after added the myinterceptostack *public* *class* *InterceptorSample* *extends* AbstractInterceptor { @Override *public* String intercept(ActionInvocation invocation) *throws*Exception { // *TODO* Auto-generated method stub System.*out*.println(Testing the interceptor flow from TEST:); System.*out*.println(Testing the interceptor flow from TEST :); *return* invocation.invoke(); } } Thanks Yanto On Tue, Jun 16, 2009 at 7:32 PM, Dave Newton newton.d...@yahoo.com wrote: Yanto wrote: action name=test class=test.QuizAction interceptor-ref name=sample / /action This will configure *only* the sample interceptor. If you specify *any* interceptors on a per-action basis you must configure *all* interceptors. This can be done in several ways. - specify all interceptors in the action's configuration (you can specify interceptor stacks as well as single interceptors) - creating a new stack including your custom interceptor and using that stack in your action configuration - same, but define the new stack and using it as the default stack Dave - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: Interceptor issue in Struts 2.1.6
Hi Volker, thanks, we are able to run the interceptor now, but we have another issue, the interceptor will Loop, we create the sample follow the code from the webworks *public* *class* *InterceptorSample* *extends* AbstractInterceptor { @Override *public* String intercept(ActionInvocation invocation) *throws*Exception { // *TODO* Auto-generated method stub System.*out*.println(Testing the interceptor flow from TEST:); System.*out*.println(Testing the interceptor flow from TEST :); *return* invocation.invoke(); } } Regards Yanto On Wed, Jun 17, 2009 at 7:18 AM, Volker Karlmeier vol...@magiccode.euwrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi, sounds like you mixed up interceptors and action classes. Look at *http://struts.apache.org/2.x/docs/interceptors.html *regards Volker Yanto schrieb: Hi, I am trying to use the following simple interceptor test the interceptor concepts but is not happened while calling the action class. Sample interceptor class. *import* *com.opensymphony.xwork2.ActionContext*; *import* com.opensymphony.xwork2.ActionInvocation; *import* com.opensymphony.xwork2.interceptor.AbstractInterceptor; *public* *class* *InterceptorSample* *extends* AbstractInterceptor { @Override *public* String intercept(ActionInvocation invocation) *throws*Exception { // *TODO* Auto-generated method stub System.*out*.println(Testing the interceptor : calling the interceptor sample); *return* success; } } I configured in the struts.xml for my action class using below config. package name=*test* namespace=*/test* extends=*struts-default* * interceptors* *interceptor name=sample class=sample.**InterceptorSample* * /* * /interceptors* action name=*test* class=*test.QuizAction* interceptor-ref name=*sample*/ result name=*success*/input.*jsp*/result result name=*error*/input.*jsp*/result result name=*input*/input.*jsp*/result /action /package I noted nothing printed and anyone can help to resolve the issue. Thanks Yanto - -- - --- Volker Karlmeier Friedrich-Freye-Str. 61 45481 Mülheim/Ruhr Tel. : (+49) 208-7785675 Mobil: (+49) 176-21056587 Mail : vol...@magiccode.eu -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.7 (GNU/Linux) iD8DBQFKOCg7aEMQXBIqssERAgRaAKCbsdFrzAFxuk8Rva9B6XVPOy8jeACfQ2XS 53yea3su5lVImf1ZabY3JmE= =6PTg -END PGP SIGNATURE- - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org
Re: Newbie (possibly RTFM) issue
Haven't tried it (had to move on) I just reverted to primitives and rely on autoboxing (i.e. not having to make end to end change all the way to the server side) when passing model to my web service. newton.dave wrote: chumbobumbo wrote: Yeah, it's called isTestBool (but I tried with getTestBool as well) neither work, I enabled the debug console adn if I output the stack values in my browser is says that 'no read method is available, listing testBool as 'String' whereas the testbool (primitive boolean) is reported correctly as 'true' and is (ironically) of the right type 'Boolean' a this stage I thikn it's definitely a Struts/OGNL issue What happens when the methods are changed to isTestbool/isTestBool? Dave - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org -- View this message in context: http://www.nabble.com/Newbie-%28possibly-RTFM%29-issue-tp24032216p24067129.html Sent from the Struts - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org