PROPOSAL: Template Screens
Joel Regen wrote: > David, > Wouldn't it make sense to introduce a few attributes to the template tags > that allow specification of values using references to beans? This idea is > used extensively in the other struts tags. Look at the html:link tag, for > example. It allows you to specify a bean that contains a property that can > be used as the value for a named request parameter. This kind of > parameterization is fairly powerful. Indeed. > With these attributes in place you can leverage the use of the controller > actions (in an MVC architecture) to setup one or more 'template specifiers' > in session or request context and redirect to the JSP that contains the > template tags. It alleviates the need for extensive use of logic: tags. > yes? Absolutely. Thanks to Joel for pointing this out! I found his email so inspiring that I took a crack at this in my local build. Here's how it works: Currently, you use templates like this: (this is from the struts-template example) <%@ taglib uri='/WEB-INF/tlds/struts-template.tld' prefix='template' %> Collectively, template:put tags within a template:insert tag define a screen, which is equivalent to a single Web page. Each screen contains regions; for example, there are five regions in the code fragment above: title, header, sidebar, content, and footer. Those regions, identified by the name attribute, either include content or print it directly, depending upon the direct attribute. The template:put tag stores its three attributes--name, content, and direct--in an instance of ScreenDefinition. That class is a simple façade for a hash table. (See org.apache.struts.taglib.template.util.ScreenDefinition). I've added a new template tag** that lets you specify that screen definition directly. Here's how you use it: <%@ page import='org.apache.struts.taglib.template.util.Content'%> <%@ page import='org.apache.struts.taglib.template.util.ScreenDefinition' %> <% ScreenDefinition screenDefinition = new ScreenDefinition(); screenDefinition.put("title", new Content("Struts Templates Example", "true")); screenDefinition.put("header", new Content("/header.html", "false")); screenDefinition.put("sidebar", new Content("/sidebar.jsp", "false")); screenDefinition.put("content", new Content("/introduction.html", "false")); screenDefinition.put("footer", new Content("/footer.html", "false")); %> The template:screen tag effectively lets you move the template:put tags into a bean (a ScreenDefinition). But creating that bean is too painful because the author must know about the Content and ScreenDefinition classes (I can hardly remember where they are or what they're called). We can fix the problem with another tag that creates a screen definition, like this: The template:screenDefinition tag creates a screen definition and stores it in the specified scope, with the specified id. For the code listed above, that screen definition is named introductionScreen and it's placed in request scope. You can specify any of the four scopes (page/request/session/application). With the screenDefinition tag, the author only deals with String arrays, instead of Content and ScreenDefinitions. Templates are powerful because they centralize page layout, which simplifies page maintenance, and allows global changes. The tags proposed here let you define numerous screen definitions in a single JSP file, which centralizes your screen definitions. Like templates themselves, which simplify page layout and enable global layout changes, screens simplify screen creation and maintenance, and allow global screen changes. david * The ContentMap class has been renamed to ScreenDefinition. ** I wanted to take Joel's advice and add some attributes to the existing template:insert tag, but this new tag doesn't have a body, so they must be separate tags. > > Joel > > -Original Message- > From: David Geary [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, February 21, 2001 2:52 PM > To: Joel Regen > Subject: Re: switchable layout > > Joel Regen wrote: > > > David, > > > > you wrote: > > ... > > > chapter = content.substring(0,content.lastIndexOf("/")); > > *** Do you mean ...lastIndexOf("."));... here ? > > I'm a bit confused here ;-) > > No, it's "/". That line of code is parsing a request parameter that > indicates > the content's directory. So, for the following URI ... > > book.jsp?content=/chapters/templates/introduction.html > > ... the chapter variable would be /chapters/templates. That variable's > used > to include other content, such as a footer, like this: > > content='<%= chapter + "/footer.html" %>' /> > > In that case, the footer content would be > /chapters/templates/footer.html. > > david
Re: Validating bean properties (WAS: Re: Stupd question aboutStruts and EJB.)
Martin, [EMAIL PROTECTED] wrote: > > Actually, the plan is to build exactly this type of validation into Struts > 1.1. In particular, I am hoping to incorporate it into the automated bean > creation tool, one way or another. Yup, I minutes after my lost post, I received the post for Volunteer for Validation Framework. Wish I had read that first! The validation stuff sure could be interesting. > The idea is to define your bean(s) in an XML file, and have the tool > generate the actual bean code for you. When you define a bean, you can > specify its type, along with some other validation rules (yet to be > determined). The tool will create a validate() method, and that method will > populate ActionErrors as appropriate. > My original thought was to generate code based on the validation rules. > However, David Winterfeldt has written an interesting validator that runs > off an XML spec directly. This may be a better approach, in that you can > modify the rules later without recreating the bean, among other things. I was considering an approach where coders wrote validation code in Java (we all know java!) yet the Struts framework executed it. You would extend or implement a common java class/interface defining a single method, public ValidationErrors validate(); say. That is then mapped to the form field in an xml file somewhere. Struts, however could ship all the standard validations (such as Strings to ints) together. It is something I have not given much thought to yet, but would be interested in exploring further. > I'm not sure how this will all fall out in the end, but I will be very > surprised if Struts 1.1 does not include ways of automating the creation of > form beans, and ways of specifying validation rules without writing code. > There are several people interested in working on each of these topics, so > I expect lots of interesting discussion on each and on how to integrate them. Sounds great! > Martin Cooper > Tumbleweed Communications > > At 02:46 PM 2/28/01 +1100, Nick Pellow wrote: > >Martin, > > > >[EMAIL PROTECTED] wrote: > > > > > > At 11:17 AM 2/28/01 +1100, Nick Pellow wrote: > > > >I am very new to struts as is, but as I far as I can tell from reading > > > >the implementation of the above method, > > > >the ActionForm can only have String properties. Is this correct? > > > > > > > >If so, it would be nice if the ActionForm could support types other than > > > >String and the > > > >struts engine would convert these in a similar fashion as Ant does to > > > >the attributes in the xml build file. > > > > > > Actually, Struts will attempt to convert values as it populates a form > > > bean. This is done in BeanUtils.populate(), which is called right at the > > > end of RequestUtils.populate(). > > > >Ooops, thats what I was looking for but did not find. > > > > > However, the problem is what to do if it > > > can't be converted. For example, if I define a form bean property as an > > > int, and the request contains "abc", what should Struts do? > > > >Struts could create an ActionErrors object with an ActionError for each > >conversion error. > >If an error does get raised at that early stage, then one will no doubt > >be raised later on > >in the Action. The difference is that the coder has to > >a) check for the conversion error again, > >b) raise an error again. > >It also means that checking for such user mistakes is spread across > >mulitple layers in the application > >and also across multiple components within the system. I think it would > >be nice to centralize > >such type checking in one part of the system. > > > > > >The error message strings could be defined in a similar fashion to > >errors.header and errors.footer. > >Maybe something like: > >errors.conversion.NumberFormatException=You must enter a number for the > >{0} field, not {1}. > > > >Then when Struts comes across a type error, it raises the error then and > >there, using a resource > >such as the one above to report to the user. > > > >As mentioned earlier in this thread this option could be configurable in > >Struts as it may not > >always be desirable. > > > > > In 1.0, it will set the property to a (configurable) default value, but > > > that's not a good solution when there's no obvious candidate meaning > > > "invalid" (e.g. for a boolean). It also destroys the original user input, > > > so when validate() fails and returns the user to the input form, you can no > > > longer display to them the mistake they made. (By default, in the situation > > > I described above, the user would see "0" where they entered "abc".) > > > > > > So it's really best if form bean properties are all strings. What you *can* > > > do, though, is have your validate() method check that the value can be > > > converted to what you want, and return an error if it can't. For example, > > > you might use Integer.parseInt() to ensure that a valid integer was > > entered. > > > >If the validate() method does the type ch
Re: Iteration with - BUG?
Jessica, You have not closed the link tag. After the <%= display %>, you need . Also, you might want to look into using the Struts tag instead of using a while loop in a scriptlet. Hope this helps. -- Martin Cooper Tumbleweed Communications - Original Message - From: "Anderson, Jessica" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, February 27, 2001 1:02 PM Subject: Iteration with - BUG? > I am attempting to iterate through an enumeration and display key/value > pairs as part of the link using jsp expressions (<%= value %>). > > while (enum.hasMoreElements()){ > jsp = (String)enum.nextElement(); > display = (String)navigation.get(jsp); %> > > <%= > display %> > > <% } %> > > However, using this code results in the following error and it seems to have > something to do with the closing brace for the while loop. I tested the > while loop without the tag included and it was working properly. > Is this a bug or am I missing something? > > Thanks, > Jessica > > org.apache.jasper.JasperException: Unable to compile class for > JSPE:\jakarta-tomcat\work\localhost_8080%2Finternal\_0002fjsp_0002fnavigatio > n_0002ejspnavigation_jsp_33.java:111: 'while' expected. > } > ^ > E:\jakarta-tomcat\work\localhost_8080%2Finternal\_0002fjsp_0002fnavigation_0 > 002ejspnavigation_jsp_33.java:873: 'try' without 'catch' or 'finally'. > } while (_jspx_th_html_link_22.doAfterBody() == BodyTag.EVAL_BODY_TAG); > ^ > E:\jakarta-tomcat\work\localhost_8080%2Finternal\_0002fjsp_0002fnavigation_0 > 002ejspnavigation_jsp_33.java:874: 'finally' without 'try'. > } finally { > ^ > E:\jakarta-tomcat\work\localhost_8080%2Finternal\_0002fjsp_0002fnavigation_0 > 002ejspnavigation_jsp_33.java:879: 'try' without 'catch' or 'finally'. > if (_jspx_th_html_link_22.doEndTag() == Tag.SKIP_PAGE) > ^ > E:\jakarta-tomcat\work\localhost_8080%2Finternal\_0002fjsp_0002fnavigation_0 > 002ejspnavigation_jsp_33.java:881: 'finally' without 'try'. > } finally { > ^ > 5 errors > > at org.apache.jasper.compiler.Compiler.compile(Compiler.java:247) > at org.apache.jasper.runtime.JspServlet.loadJSP(JspServlet.java:413) > at > org.apache.jasper.runtime.JspServlet$JspServletWrapper.loadIfNecessary(JspSe > rvlet.java:149) > at > org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.ja > va:161) > at > org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:261) > at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:369) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503) > at > org.apache.tomcat.core.ContextManager.service(ContextManager.java:559) > at > org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC > onnectionHandler.java:160) > at > org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338 > ) > at java.lang.Thread.run(Thread.java:484)
Bean display failure
I wrote an application with a JSP to create Employee to database tables( using an action class ) and a JSP to list all employee in database. And the display of the latter JSP follows another action class( called ListEmployee ) , which retrieves data from database and construct a collection object in the request scope . The JSP looks like : ID Name Age Salary Company When I display the list first time , it looks ok . But when I click the link again , it just return a blank page for me.Only restart will solve the problem( but that means I could only display once ).Could anyone tell me the reason and how to resolve it? Huhaibo [EMAIL PROTECTED]
Validating bean properties (WAS: Re: Stupd question aboutStruts and EJB.)
Actually, the plan is to build exactly this type of validation into Struts 1.1. In particular, I am hoping to incorporate it into the automated bean creation tool, one way or another. The idea is to define your bean(s) in an XML file, and have the tool generate the actual bean code for you. When you define a bean, you can specify its type, along with some other validation rules (yet to be determined). The tool will create a validate() method, and that method will populate ActionErrors as appropriate. My original thought was to generate code based on the validation rules. However, David Winterfeldt has written an interesting validator that runs off an XML spec directly. This may be a better approach, in that you can modify the rules later without recreating the bean, among other things. I'm not sure how this will all fall out in the end, but I will be very surprised if Struts 1.1 does not include ways of automating the creation of form beans, and ways of specifying validation rules without writing code. There are several people interested in working on each of these topics, so I expect lots of interesting discussion on each and on how to integrate them. -- Martin Cooper Tumbleweed Communications At 02:46 PM 2/28/01 +1100, Nick Pellow wrote: >Martin, > >[EMAIL PROTECTED] wrote: > > > > At 11:17 AM 2/28/01 +1100, Nick Pellow wrote: > > >I am very new to struts as is, but as I far as I can tell from reading > > >the implementation of the above method, > > >the ActionForm can only have String properties. Is this correct? > > > > > >If so, it would be nice if the ActionForm could support types other than > > >String and the > > >struts engine would convert these in a similar fashion as Ant does to > > >the attributes in the xml build file. > > > > Actually, Struts will attempt to convert values as it populates a form > > bean. This is done in BeanUtils.populate(), which is called right at the > > end of RequestUtils.populate(). > >Ooops, thats what I was looking for but did not find. > > > However, the problem is what to do if it > > can't be converted. For example, if I define a form bean property as an > > int, and the request contains "abc", what should Struts do? > >Struts could create an ActionErrors object with an ActionError for each >conversion error. >If an error does get raised at that early stage, then one will no doubt >be raised later on >in the Action. The difference is that the coder has to >a) check for the conversion error again, >b) raise an error again. >It also means that checking for such user mistakes is spread across >mulitple layers in the application >and also across multiple components within the system. I think it would >be nice to centralize >such type checking in one part of the system. > > >The error message strings could be defined in a similar fashion to >errors.header and errors.footer. >Maybe something like: >errors.conversion.NumberFormatException=You must enter a number for the >{0} field, not {1}. > >Then when Struts comes across a type error, it raises the error then and >there, using a resource >such as the one above to report to the user. > >As mentioned earlier in this thread this option could be configurable in >Struts as it may not >always be desirable. > > > In 1.0, it will set the property to a (configurable) default value, but > > that's not a good solution when there's no obvious candidate meaning > > "invalid" (e.g. for a boolean). It also destroys the original user input, > > so when validate() fails and returns the user to the input form, you can no > > longer display to them the mistake they made. (By default, in the situation > > I described above, the user would see "0" where they entered "abc".) > > > > So it's really best if form bean properties are all strings. What you *can* > > do, though, is have your validate() method check that the value can be > > converted to what you want, and return an error if it can't. For example, > > you might use Integer.parseInt() to ensure that a valid integer was > entered. > >If the validate() method does the type checking then we must implement >type >conversion code and type checking code in every single form bean we >write! >On large systems, this is sometimes very unfun. > >Any thoughts? > >Regards, >Nick > > > > > > > -- > > Martin Cooper > > Tumbleweed Communications
Re: Volunteer for Validation Framework
I have a lot of experience using validation. I am of the opinion that if possible validation should be done client-side using javascript. Is there a way to implement this by extending Struts? If so, I would be very interested in helping. Currently, I am working on expanding Struts Custom Tag Library. I've added Pattern, IsRequired, and errorMessage to Struts-html.tld and modified the Struts source files to accomodate for this. It uses pattern because I am using Perl5 regular expressions to send the validation parameterss to the Form bean. Spencer - Original Message - From: David Winterfeldt <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Sunday, February 25, 2001 5:35 PM Subject: Volunteer for Validation Framework > I'd like to volunteer to help on client and server > side validation listed on the Struts 1.1 To Do list. > > I added some basic support for constants (global and > on the Locale level). I also made the validations > more configurable. You can define what class and > method should do a type of validation. I added a > depends attribute to the validation definitions so you > could say that checking for an integer shouldn't be > done until required validations are done. It's > probably needs some work on the logic, but it seems to > be working on the basics. Also a number of objects > could be created and cached somewhere. > > I also started on some methods to do basic type > checking. It's just some numeric primitives right now > and a date. I added an example page to the sample > webapp doing the type checking. > > The code and sample web app is on my site. I have a > basic explanation, but I think it's lacking since I've > added so much, but the examples should help. > http://home.earthlink.net/~dwinterfeldt/ > > David > > > __ > Do You Yahoo!? > Get email at your own domain with Yahoo! Mail. > http://personal.mail.yahoo.com/ > >
struts and XSL
There are many competing technologies to embrace the Model 2 pattern. I get the feeling that XML/XSL and Struts are mutually exclusive. Is this a valid concern ?? [EMAIL PROTECTED] __ The information contained in this email communication may be confidential. You should only read, disclose, re-transmit, copy, distribute, act in reliance on or commercialise the information if you are authorised to do so. If you are not the intended recipient of this email communication, please notify us immediately by email to [EMAIL PROTECTED] or reply by email direct to the sender and then destroy any electronic or paper copy of this message. Any views expressed in this email communication are those of the individual sender, except where the sender specifically states them to be the views of a member of the National Australia Bank Group of companies. The National Australia Bank Group of companies does not represent, warrant or guarantee that the integrity of this communication has been maintained nor that the communication is free of errors, virus or interference.
Re: Stupd question about Struts and EJB.
Martin, [EMAIL PROTECTED] wrote: > > At 11:17 AM 2/28/01 +1100, Nick Pellow wrote: > >I am very new to struts as is, but as I far as I can tell from reading > >the implementation of the above method, > >the ActionForm can only have String properties. Is this correct? > > > >If so, it would be nice if the ActionForm could support types other than > >String and the > >struts engine would convert these in a similar fashion as Ant does to > >the attributes in the xml build file. > > Actually, Struts will attempt to convert values as it populates a form > bean. This is done in BeanUtils.populate(), which is called right at the > end of RequestUtils.populate(). Ooops, thats what I was looking for but did not find. > However, the problem is what to do if it > can't be converted. For example, if I define a form bean property as an > int, and the request contains "abc", what should Struts do? Struts could create an ActionErrors object with an ActionError for each conversion error. If an error does get raised at that early stage, then one will no doubt be raised later on in the Action. The difference is that the coder has to a) check for the conversion error again, b) raise an error again. It also means that checking for such user mistakes is spread across mulitple layers in the application and also across multiple components within the system. I think it would be nice to centralize such type checking in one part of the system. The error message strings could be defined in a similar fashion to errors.header and errors.footer. Maybe something like: errors.conversion.NumberFormatException=You must enter a number for the {0} field, not {1}. Then when Struts comes across a type error, it raises the error then and there, using a resource such as the one above to report to the user. As mentioned earlier in this thread this option could be configurable in Struts as it may not always be desirable. > In 1.0, it will set the property to a (configurable) default value, but > that's not a good solution when there's no obvious candidate meaning > "invalid" (e.g. for a boolean). It also destroys the original user input, > so when validate() fails and returns the user to the input form, you can no > longer display to them the mistake they made. (By default, in the situation > I described above, the user would see "0" where they entered "abc".) > > So it's really best if form bean properties are all strings. What you *can* > do, though, is have your validate() method check that the value can be > converted to what you want, and return an error if it can't. For example, > you might use Integer.parseInt() to ensure that a valid integer was entered. If the validate() method does the type checking then we must implement type conversion code and type checking code in every single form bean we write! On large systems, this is sometimes very unfun. Any thoughts? Regards, Nick > > -- > Martin Cooper > Tumbleweed Communications
Re: Stupd question about Struts and EJB.
At 11:17 AM 2/28/01 +1100, Nick Pellow wrote: >I am very new to struts as is, but as I far as I can tell from reading >the implementation of the above method, >the ActionForm can only have String properties. Is this correct? > >If so, it would be nice if the ActionForm could support types other than >String and the >struts engine would convert these in a similar fashion as Ant does to >the attributes in the xml build file. Actually, Struts will attempt to convert values as it populates a form bean. This is done in BeanUtils.populate(), which is called right at the end of RequestUtils.populate(). However, the problem is what to do if it can't be converted. For example, if I define a form bean property as an int, and the request contains "abc", what should Struts do? In 1.0, it will set the property to a (configurable) default value, but that's not a good solution when there's no obvious candidate meaning "invalid" (e.g. for a boolean). It also destroys the original user input, so when validate() fails and returns the user to the input form, you can no longer display to them the mistake they made. (By default, in the situation I described above, the user would see "0" where they entered "abc".) So it's really best if form bean properties are all strings. What you *can* do, though, is have your validate() method check that the value can be converted to what you want, and return an error if it can't. For example, you might use Integer.parseInt() to ensure that a valid integer was entered. -- Martin Cooper Tumbleweed Communications
RE: How does nested syntax in property attribute work
In your example you would have a nested JavaBean in your form with a get accessor that retrieved a nested JavaBean with a definition something like this: private AddressBean mailingAddress = new AddressBean(); public AddressBean getMailingAddress(); The AddressBean would need to have getters and setters for a street property. getStreet() and setStreet(String s). When you submit the JSP, Struts would call the getMailingAddress() method to return the nested javabean and then Struts would invoke setAddress and pass in the data from the input text field. You would use this Struts feature if you have JavaBean already and you don't want to duplicate all of its accessors in the form bean. Or if you want to be able to pass the data in one JavaBean to a model component but you don't want to pass Struts objects to your model components. Hal -Original Message- From: Shamdasani Nimmi-ANS004 [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 27, 2001 7:15 PM To: '[EMAIL PROTECTED]' Subject: How does nested syntax in property attribute work Hi, In some of the e-mails I have seen nested syntax being used for property attribute, e.g., what does that mean? Is it that the getMailingAddress() method of the bean will be called, and then what is ".street" for? -Nimmi
RE: form initialization using session
>The way this is typically handled is to use an Action to populate the >bean. So instead of linking your user directly to the JSP page, you link >them to an Action. Thanks for your response - i guess I arrived at the conclusion you propose. However I'm still unhappy with the notion that lots of forms are going to need their own dedicated action just to initialize them. Instead, I am experimenting with overriding the struts processActionForm() to notice when the form is created and call a form.create() method on my ActionForm subclass, passing the request/session in at that time. This seems to be working nicely - i still have to have all requests for the page containing the form accessed by an action to force initialization before the form is displayed, but I have only one action class for all forms and the initialization logic stays where it belongs - inside the form. I'm curious if others think having a form.create() method would be useful, and if so, if there is a possibiliy to incorporate it into the struts core? I guess the signature would look like void create(HttpServletRequest request) and it would be called each time a new action form bean instance is created, on the instance created. Cheers, Simon. -Original Message- From: Michael McCallister [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 27, 2001 1:01 PM To: [EMAIL PROTECTED] Subject: Re: form initialization using session The way this is typically handled is to use an Action to populate the bean. So instead of linking your user directly to the JSP page, you link them to an Action. This Action typically loads the bean and then returns the success mapping, which, in struts-config.xml, you've mapped to the JSP that displays the values from the bean. The example application that comes with struts shows how to do this. The walking tour that accompanies the example explains it better than I have. Look at the relationship between EditSubscriptionAction.java, subscription.jsp, and SaveSubscriptionAction.java. Mike At 11:46 AM 2/27/2001, you wrote: >Hi all, > >I am working on an application where form fields need to default to >values that depend on the user's profile, which is stored in the >session. Unfortunately, it seems like struts forms are created >automatically without any hooks that allow access to the session to >initialize these fields. > >The only thing that I can think of is to have our application >proactively place the forms into the session with values initialized, >possibly to have the form page link through an action which creates and >initializes the form. However this abandons the utility of having >struts automatically create the forms for us - one of the many nice >things about struts! > >This seems to me like it would be a common problem. Does anyone have a >good solution for it? > >Cheers, > >Simon.
Simple question about Struts
Has anyone used Allaire's JRun and Struts yet? If so, are any of you fine people willing to share tips or tricks of what to do or not do? Thanks in advance. Mike V.
Newbie to Struts
Hi all, Pls excuse for my poor english. I want to put request URIs that mapped to some actions in tag like this: And the container can execute the requested action ,but the client can not get the correct response. So pls help me. :=) Best regards, JeanX pacificnet.com(GZ)
Has the image tag property attribute problem been fixed?
Hello, Where is 26th nightly build binary/src version? Or any other build that has image tag fixed for property attribute. Cheers! Sundar
How does nested syntax in property attribute work
Hi, In some of the e-mails I have seen nested syntax being used for property attribute, e.g., what does that mean? Is it that the getMailingAddress() method of the bean will be called, and then what is ".street" for? -Nimmi
Re: Stupd question about Struts and EJB.
[EMAIL PROTECTED] wrote: > > This is the approach that I am using, but to simplify the design I have > interconnected the view and model. I would like to eliminate this coupling- > so if anyone has some suggestions or could recommend a pattern I could apply > please let me know :) What I am doing is creating entity beans that resemble > the ActionForm as much as possible- for the most part there is a loose 1 to > 1 relationship between entity EJB and ActionForm. There are some exceptions, > but this is how 80% of the app is designed. I use session EJBs to manage the > entity EJBs and map these to appropriate ActionForms (using the Struts > copyProperties util). So, the session EJB must be aware of the ActionForm, > since this is the object that it returns. To persist data, the ActionServlet > obtains a reference to the session EJB and would send a save() method I have > implemented the ActionForm which then is copied to an entity EJB. Ideally > there should be a proxy between the EJB tier and the Struts tier, so the > session EJB does not need to be aware of the ActionForm. But, I am not about > to create another intermediate object with the same properties and > setters/getters. Some of my forms have up to 30 properties so this is way > too much work! I think this should be done automatically. > > One more thing- the copyProperties requires that properties are the same > type. But, the view is basically just String-based where the ejb tier > consists of real Date, BigDecimal, etc... So what I find myself doing is > creating additional methods in the ActionForm that make this transformation. > For example setCustomerId(BigDecimal) and setCustomerIdStr(String). Then use > the string version for Struts, and when copyProperties is invoked it will > map the BigDecimal value to the EJB. Perhaps I should extend copyProperties > to support basic type conversions- or has this already been done elsewhere? > > thoughts or suggestions? Bob, I can see what you mean. The RequestUtils.populate(Object bean, String prefix, String suffix, HttpServletRequest request) methods do no type conversions. So do you call the additional conversion methods during the validate() method on the ActionForm? I am very new to struts as is, but as I far as I can tell from reading the implementation of the above method, the ActionForm can only have String properties. Is this correct? If so, it would be nice if the ActionForm could support types other than String and the struts engine would convert these in a similar fashion as Ant does to the attributes in the xml build file. An error message could be returned to the user if they entered a String into an Integer field, say. This behavour may not be always desired, so it could be switched on and off in the . This may open a can of worms however, Date formats spring to mind. However, comming from a background of using tags in anger, I wrote a lot of code converting Strings to other objects, (mostly Longs, ints, (B)booleans ). Just my 2 Bobs worth. cheers, Nick > > Thanks, > Bob > > -Original Message- > From: Nick Pellow [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, February 27, 2001 5:23 PM > To: [EMAIL PROTECTED] > Subject: Re: Stupd question about Struts and EJB. > > Hello, > > Robert Leland wrote: > > > > As far as struts 1.0, the Form bean is used only to redisplay > > information to the jsp page. Typically the EJB might be loaded/unloaded in > the > > action class. If you search www.mail-archives.co,m Craig talked more about > this in detail. > > My understanding is that with struts you should keep your EJBs entirely > independant of > anything to do with struts or servlets. You can and should however have > a standard naming > convention for the getters and setters across the EJB, the ActionForm > and the html form elements. > this allows you to call PropertyUtils.copyProperties(java.lang.Object > dest, java.lang.Object orig) > when you are ready to store the details entered by the user. > > Please let me know if this does not sound right. > > Cheers, > Nick > > > In future version of struts this may be enhanced. > > > > -Rob > > > > > Cameron Ingram0 wrote: > > > > > > I am in the process of convincing my company to go with MVC and Struts. > As with any thing new, > > > people are sometimes resistant > > > to change. One of the opposition questions I am getting is, how will > this work with EJB(problem is > > > I don't know too much about EJB currently). Do the EJB's references > just go in the Form and > > > Action Bean and every thing else behaves the same? Are there any obvious > points that I can bring > > > up on the subject? > > > Any help on this subject would be much appreciated! > > > > > > Thanks, Cameron Ingram
RE: Stupd question about Struts and EJB.
This is the approach that I am using, but to simplify the design I have interconnected the view and model. I would like to eliminate this coupling- so if anyone has some suggestions or could recommend a pattern I could apply please let me know :) What I am doing is creating entity beans that resemble the ActionForm as much as possible- for the most part there is a loose 1 to 1 relationship between entity EJB and ActionForm. There are some exceptions, but this is how 80% of the app is designed. I use session EJBs to manage the entity EJBs and map these to appropriate ActionForms (using the Struts copyProperties util). So, the session EJB must be aware of the ActionForm, since this is the object that it returns. To persist data, the ActionServlet obtains a reference to the session EJB and would send a save() method I have implemented the ActionForm which then is copied to an entity EJB. Ideally there should be a proxy between the EJB tier and the Struts tier, so the session EJB does not need to be aware of the ActionForm. But, I am not about to create another intermediate object with the same properties and setters/getters. Some of my forms have up to 30 properties so this is way too much work! I think this should be done automatically. One more thing- the copyProperties requires that properties are the same type. But, the view is basically just String-based where the ejb tier consists of real Date, BigDecimal, etc... So what I find myself doing is creating additional methods in the ActionForm that make this transformation. For example setCustomerId(BigDecimal) and setCustomerIdStr(String). Then use the string version for Struts, and when copyProperties is invoked it will map the BigDecimal value to the EJB. Perhaps I should extend copyProperties to support basic type conversions- or has this already been done elsewhere? thoughts or suggestions? Thanks, Bob -Original Message- From: Nick Pellow [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 27, 2001 5:23 PM To: [EMAIL PROTECTED] Subject: Re: Stupd question about Struts and EJB. Hello, Robert Leland wrote: > > As far as struts 1.0, the Form bean is used only to redisplay > information to the jsp page. Typically the EJB might be loaded/unloaded in the > action class. If you search www.mail-archives.co,m Craig talked more about this in detail. My understanding is that with struts you should keep your EJBs entirely independant of anything to do with struts or servlets. You can and should however have a standard naming convention for the getters and setters across the EJB, the ActionForm and the html form elements. this allows you to call PropertyUtils.copyProperties(java.lang.Object dest, java.lang.Object orig) when you are ready to store the details entered by the user. Please let me know if this does not sound right. Cheers, Nick > In future version of struts this may be enhanced. > > -Rob > > > Cameron Ingram0 wrote: > > > > I am in the process of convincing my company to go with MVC and Struts. As with any thing new, > > people are sometimes resistant > > to change. One of the opposition questions I am getting is, how will this work with EJB(problem is > > I don't know too much about EJB currently). Do the EJB's references just go in the Form and > > Action Bean and every thing else behaves the same? Are there any obvious points that I can bring > > up on the subject? > > Any help on this subject would be much appreciated! > > > > Thanks, Cameron Ingram
Re: Where are form tags?
I'm not sure exactly what problem you're seeing, but here are a couple of points that might be relevant: 1) The taglib that used to be referred to with the 'form' prefix (e.g. ) is now deprecated. Those tags are now in the 'html' taglib (e.g. ). The old struts-form.tld is still there, but is marked as deprecated. 2) The struts-*.tld files are not part of the source distribution. They are generated from the struts-*.xml files as a part of the build process. Hope this helps. -- Martin Cooper Tumbleweed Communications At 10:41 AM 2/27/01 -0700, Sundar @eSaravana wrote: >Hello, > >In the beta release, which I downloaded and built, struts.jar did not have >html tags. So, I just downloaded yesterday's binary and it does not have >form tags. Am I missing something here? > >Any information is appreciated. > >Sundar
Re: Stupd question about Struts and EJB.
I have the similar case with Beans not implemented "Serializable". I will use PropertyUtils.copyProperties(destBean, srcBean) to propogate the properties. Nick Pellow wrote: > Hello, > > Robert Leland wrote: > > > > As far as struts 1.0, the Form bean is used only to redisplay > > information to the jsp page. Typically the EJB might be loaded/unloaded in the > > action class. If you search www.mail-archives.co,m Craig talked more about this in >detail. > > My understanding is that with struts you should keep your EJBs entirely > independant of > anything to do with struts or servlets. You can and should however have > a standard naming > convention for the getters and setters across the EJB, the ActionForm > and the html form elements. > this allows you to call PropertyUtils.copyProperties(java.lang.Object > dest, java.lang.Object orig) > when you are ready to store the details entered by the user. > > Please let me know if this does not sound right. > > Cheers, > Nick > > > In future version of struts this may be enhanced. > > > > -Rob > > > > > Cameron Ingram0 wrote: > > > > > > I am in the process of convincing my company to go with MVC and Struts. As with >any thing new, > > > people are sometimes resistant > > > to change. One of the opposition questions I am getting is, how will this work >with EJB(problem is > > > I don't know too much about EJB currently). Do the EJB's references just go in >the Form and > > > Action Bean and every thing else behaves the same? Are there any obvious points >that I can bring > > > up on the subject? > > > Any help on this subject would be much appreciated! > > > > > > Thanks, Cameron Ingram
RE: Stupd question about Struts and EJB.
I use EJBs without using copyProperties although it's a matter of preference. I have a set of JavaBeans that you could call "Data Beans" because they are often similar to my Entity Beans and they don't contain any business logic. They are struts free and I pass these data beans to some EJB components. I often nest the data bean inside the ActionForm class as a property and use the Struts nested property functionality to populate the Data JavaBean directly. Sometimes I don't use a nested JavaBean and I just pass the individual properties of the form to the EJB component. I like using nested java beans better than calling copyproperties because if I have a Databean anyway, I don't want to have to redefine lots of getters and setters in the Struts form bean. Hal -Original Message- From: Nick Pellow [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 27, 2001 5:23 PM To: [EMAIL PROTECTED] Subject: Re: Stupd question about Struts and EJB. Hello, Robert Leland wrote: > > As far as struts 1.0, the Form bean is used only to redisplay > information to the jsp page. Typically the EJB might be loaded/unloaded in the > action class. If you search www.mail-archives.co,m Craig talked more about this in detail. My understanding is that with struts you should keep your EJBs entirely independant of anything to do with struts or servlets. You can and should however have a standard naming convention for the getters and setters across the EJB, the ActionForm and the html form elements. this allows you to call PropertyUtils.copyProperties(java.lang.Object dest, java.lang.Object orig) when you are ready to store the details entered by the user. Please let me know if this does not sound right. Cheers, Nick > In future version of struts this may be enhanced. > > -Rob > > > Cameron Ingram0 wrote: > > > > I am in the process of convincing my company to go with MVC and Struts. As with any thing new, > > people are sometimes resistant > > to change. One of the opposition questions I am getting is, how will this work with EJB(problem is > > I don't know too much about EJB currently). Do the EJB's references just go in the Form and > > Action Bean and every thing else behaves the same? Are there any obvious points that I can bring > > up on the subject? > > Any help on this subject would be much appreciated! > > > > Thanks, Cameron Ingram
Re: Stupd question about Struts and EJB.
Hello, Robert Leland wrote: > > As far as struts 1.0, the Form bean is used only to redisplay > information to the jsp page. Typically the EJB might be loaded/unloaded in the > action class. If you search www.mail-archives.co,m Craig talked more about this in >detail. My understanding is that with struts you should keep your EJBs entirely independant of anything to do with struts or servlets. You can and should however have a standard naming convention for the getters and setters across the EJB, the ActionForm and the html form elements. this allows you to call PropertyUtils.copyProperties(java.lang.Object dest, java.lang.Object orig) when you are ready to store the details entered by the user. Please let me know if this does not sound right. Cheers, Nick > In future version of struts this may be enhanced. > > -Rob > > > Cameron Ingram0 wrote: > > > > I am in the process of convincing my company to go with MVC and Struts. As with >any thing new, > > people are sometimes resistant > > to change. One of the opposition questions I am getting is, how will this work >with EJB(problem is > > I don't know too much about EJB currently). Do the EJB's references just go in >the Form and > > Action Bean and every thing else behaves the same? Are there any obvious points >that I can bring > > up on the subject? > > Any help on this subject would be much appreciated! > > > > Thanks, Cameron Ingram
RE: Is the struts example itself is multi-thread safe?
The example is thread safe. Methods don't need to be synchronized if they aren't manipulating a shared object such as an instance variable. If your action class doesn't have any instance variables and it only deals with local variables and parameters then there is a good bet that it is thread safe. Hal -Original Message- From: Maya Muchnik [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 27, 2001 5:09 PM To: [EMAIL PROTECTED] Subject: Is the struts example itself is multi-thread safe? Hi, In "A Walking Tour of the Struts App", the author has mentioned that "There is only one object for each action (URI), so your action objects must be multi-thread safe". Is the example itself is multi-thread safe? I am asking this, because are several actions here, but not one of them use "synchronized" statement. Maybe I am missing something... THANKS in advance. Maya
Is the struts example itself is multi-thread safe?
Hi, In "A Walking Tour of the Struts App", the author has mentioned that "There is only one object for each action (URI), so your action objects must be multi-thread safe". Is the example itself is multi-thread safe? I am asking this, because are several actions here, but not one of them use "synchronized" statement. Maybe I am missing something... THANKS in advance. Maya
RE: How do I iterate thru a hashtable using iterate tag?
No, the typo was on my email not in the code. -Nimmi -Original Message- From: Maya Muchnik [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 27, 2001 2:51 PM To: [EMAIL PROTECTED] Subject: Re: How do I iterate thru a hashtable using iterate tag? Nimmi, Check the properties names. In the working variant they are: code, name, countryName. In the 2nd (not working variant) they are: seq_nbr, name, country_name. The second, maybe underscore sign is not allowed. Maya Shamdasani Nimmi-ANS004 wrote: > Hi, > > Could someone please tell me what I am doing wrong below: > > user is a bean in session scope in my JSP and its getSuppliers() method returns a >hashtable where keys are Suppliers Ids and elements are Supplier beans. > > type="com.motorola.mms.msqc.beans.SupplierBean"> > > > > > > > > > > -- > I had the following code earlier and that was working. > > <% > Hashtable hashTable = (Hashtable) user.getSuppliers(); > for (Enumeration e = hashTable.elements(); e.hasMoreElements(); ) { > SupplierBean supplier = (SupplierBean) e.nextElement(); > %> > > > > <%= supplier.getCode() %> > <%= supplier.getName() %> > <%= supplier.getCountryName() %> > > > <% } %> > > Thanks in advance. > > -Nimmi
Modeling Struts apps with TogetherJ?
I'm exercising my new copy of TogetherJ, and at the same time learning Struts for the first time. I was wondering if anyone has had any experience trying to model a Struts application using Together? (e.g. which diagram types did you use, etc.)? Regards, Bryan
Re: Has any one used struts and log4j successfully?
PropertyConfigurator.configure() does like an absolute path and you still can give it one using a relative web path in your webapp directory. You can even specify the relative path your struts resource file ( if you chose to do so ). If you use a startup servlet, something like this should work: MessageResources messages = (MessageResources) getServletContext().getAttribute(Action.MESSAGES_KEY); Properties props = new Properties(); try { FileInputStream inFile = new FileInputStream(getServletContext().getRealPath(messages.getMessage("Log.Pro pertiesFile")) ); props.load(inFile); inFile.close(); // manipulate what needs to be manipulated :-) props.setProperty("log4j.appender.stdlog.File", getServletContext().getRealPath(messages.getMessage("Log.Qwickrate")) ); props.setProperty("log4j.appender.ddrlog.File", getServletContext().getRealPath(messages.getMessage("Log.DDR")) ); // configure the logging device PropertyConfigurator.configure(props); } catch (IOException io) { System.out.println(io.getMessage()); } - Original Message - From: "Martin J. La Jeunesse" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, February 27, 2001 3:57 PM Subject: RE: Has any one used struts and log4j successfully? > I had a little trouble using PropertyConfigurator.configure() to log to a > file: I wasn't exactly sure where to put the .lcf file so that servlets > could find it. I ended-up coding an absolute location. I kind-of thought it > should go in the application directory under WEBAPPS or in the application > web-inf, but that didn't seem to work. Other than that, works great! > > > -Original Message- > > From: Sundar @eSaravana [mailto:[EMAIL PROTECTED]] > > Sent: Tuesday, February 27, 2001 11:02 AM > > To: [EMAIL PROTECTED] > > Subject: Has any one used struts and log4j successfully? > > > > > > Has anyone used log4j with struts? I have used log4j before, > > but I am new to > > struts. So, I am just looking for a short cut. If you > > have,could you please > > send me some code fragments to start off. > > > > I would really appreciate it. > > > > Cheers.! > > Sundar > > > >
RE: Has any one used struts and log4j successfully?
I had a little trouble using PropertyConfigurator.configure() to log to a file: I wasn't exactly sure where to put the .lcf file so that servlets could find it. I ended-up coding an absolute location. I kind-of thought it should go in the application directory under WEBAPPS or in the application web-inf, but that didn't seem to work. Other than that, works great! > -Original Message- > From: Sundar @eSaravana [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, February 27, 2001 11:02 AM > To: [EMAIL PROTECTED] > Subject: Has any one used struts and log4j successfully? > > > Has anyone used log4j with struts? I have used log4j before, > but I am new to > struts. So, I am just looking for a short cut. If you > have,could you please > send me some code fragments to start off. > > I would really appreciate it. > > Cheers.! > Sundar >
German version of presentation online!
Uwe Pleyer of Germany was gracious enough to translate the Struts Prensentation at http://www.us-eh.com/craiger/articles/struts/ to German! Check it out if that is your native tounge. Now I don't know German personally, so let me know if it's a real translation, or just some German drinking song ;) Thanks Uwe! Craig T. -- I've been trying to change the world for years, but they just won't give me the source code begin:vcard n:Tataryn;Craig tel;home:952-884-6752 tel;work:952-842-5576 x-mozilla-html:TRUE url:http://www.computer-programmer.org org:Compuware;Professional Division adr:;;3600 West 80th St. Suite 400;Bloomington;MN;55431;United States of America version:2.1 email;internet:[EMAIL PROTECTED] title:Senior Staff Analyst fn:Craig Tataryn end:vcard
Iteration with - BUG?
I am attempting to iterate through an enumeration and display key/value pairs as part of the link using jsp expressions (<%= value %>). while (enum.hasMoreElements()){ jsp = (String)enum.nextElement(); display = (String)navigation.get(jsp); %> <%= display %> <% } %> However, using this code results in the following error and it seems to have something to do with the closing brace for the while loop. I tested the while loop without the tag included and it was working properly. Is this a bug or am I missing something? Thanks, Jessica org.apache.jasper.JasperException: Unable to compile class for JSPE:\jakarta-tomcat\work\localhost_8080%2Finternal\_0002fjsp_0002fnavigatio n_0002ejspnavigation_jsp_33.java:111: 'while' expected. } ^ E:\jakarta-tomcat\work\localhost_8080%2Finternal\_0002fjsp_0002fnavigation_0 002ejspnavigation_jsp_33.java:873: 'try' without 'catch' or 'finally'. } while (_jspx_th_html_link_22.doAfterBody() == BodyTag.EVAL_BODY_TAG); ^ E:\jakarta-tomcat\work\localhost_8080%2Finternal\_0002fjsp_0002fnavigation_0 002ejspnavigation_jsp_33.java:874: 'finally' without 'try'. } finally { ^ E:\jakarta-tomcat\work\localhost_8080%2Finternal\_0002fjsp_0002fnavigation_0 002ejspnavigation_jsp_33.java:879: 'try' without 'catch' or 'finally'. if (_jspx_th_html_link_22.doEndTag() == Tag.SKIP_PAGE) ^ E:\jakarta-tomcat\work\localhost_8080%2Finternal\_0002fjsp_0002fnavigation_0 002ejspnavigation_jsp_33.java:881: 'finally' without 'try'. } finally { ^ 5 errors at org.apache.jasper.compiler.Compiler.compile(Compiler.java:247) at org.apache.jasper.runtime.JspServlet.loadJSP(JspServlet.java:413) at org.apache.jasper.runtime.JspServlet$JspServletWrapper.loadIfNecessary(JspSe rvlet.java:149) at org.apache.jasper.runtime.JspServlet$JspServletWrapper.service(JspServlet.ja va:161) at org.apache.jasper.runtime.JspServlet.serviceJspFile(JspServlet.java:261) at org.apache.jasper.runtime.JspServlet.service(JspServlet.java:369) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.tomcat.core.ServletWrapper.handleRequest(ServletWrapper.java:503) at org.apache.tomcat.core.ContextManager.service(ContextManager.java:559) at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpC onnectionHandler.java:160) at org.apache.tomcat.service.TcpConnectionThread.run(SimpleTcpEndpoint.java:338 ) at java.lang.Thread.run(Thread.java:484)
Re: (Newbie question) Abstracting/wrapping the HTML tag
This is what I use: Then in Style.jsp, you can do any logic you need to tailor the stylesheet. It's not especially sophisticated, but the bottom line concept is that your stylesheet need not be static text. Mike At 02:43 PM 2/27/2001, you wrote: >We specify CSS files in our JSP output with the HTML tag. The >precise CSS files referenced should sometimes be different depending on >locale and a concept of brand within our application. I could easily write >my own JSP tag to do this but I was wondering if struts already offered >something along these lines? If nothing else, I could build upon struts >syntax in my own tag... > >Bern McCarty >Bentley Systems, Inc.
Re: How do I iterate thru a hashtable using iterate tag?
Nimmi, Check the properties names. In the working variant they are: code, name, countryName. In the 2nd (not working variant) they are: seq_nbr, name, country_name. The second, maybe underscore sign is not allowed. Maya Shamdasani Nimmi-ANS004 wrote: > Hi, > > Could someone please tell me what I am doing wrong below: > > user is a bean in session scope in my JSP and its getSuppliers() method returns a >hashtable where keys are Suppliers Ids and elements are Supplier beans. > > type="com.motorola.mms.msqc.beans.SupplierBean"> > > > > > > > > > > -- > I had the following code earlier and that was working. > > <% > Hashtable hashTable = (Hashtable) user.getSuppliers(); > for (Enumeration e = hashTable.elements(); e.hasMoreElements(); ) { > SupplierBean supplier = (SupplierBean) e.nextElement(); > %> > > > > <%= supplier.getCode() %> > <%= supplier.getName() %> > <%= supplier.getCountryName() %> > > > <% } %> > > Thanks in advance. > > -Nimmi
Re: stupid Q: setters are not called if properties are empty
It's not a stupid question. I'm not sure if it's off-topic or not. :-) The JSP fragment you posted suggests that your JSP is being invoked directly. That is, the URL coming from the browser references the JSP, and not a Struts Action (e.g. doSomthing.do). If this is the case, then I don't think Struts can help you much, since it won't have a chance to touch the bean. In a typical Struts application, the request will be handled by the controller servlet, which will parse the request and populate a form bean with the parameters. An Action will then process the request and forward to a JSP for displaying the results to the user. In this scenario, since Struts populated form bean for you, there is usually no need to use the useBean/setProperty mechanism you have. Also - and this is the piece you need - the controller servlet will call the reset() method on your form bean immediately before populating it with the values from the new request. That gives you the chance to clear out the old values, so that they are not left in the form bean if there is no corresponding value in the request. Hope this helps. -- Martin Cooper Tumbleweed Communications At 10:42 PM 2/27/01 +0800, Kan Leung, MK wrote: >Sorry if you find if this is a bit off topic. ;) > >Hi all, > >Hope this is not a FAQ. (I spent 2 hours to do net search but didn't >get a good answer) > >8< > > >8< > >Introspection magic makes the property setters called if they match the >input parameters by GET or by POST. > >e.g. URL?address1=a&address2=&address3= > > >There are exceptions: setters of some parameters which have no value >won't get called. In the above string, the later two are not called >because they have no values assigned. Suppose my bean has session scope. >Values kept unchanged. > >My question is: how can the web users clear a text field if the field is >incorrectly filled? > >I suppose the introspection magic is a life-saver. I just don't want to >check the return value of request.getParameter("address2) for each input >to determine if it's empty. > >Can anybody give me a good alternative to clear unwanted fields easily? > >-- >Kan LEUNG, M K >email: [EMAIL PROTECTED] >Digital Empires Company Limited
(Newbie question) Abstracting/wrapping the HTML tag
We specify CSS files in our JSP output with the HTML tag. The precise CSS files referenced should sometimes be different depending on locale and a concept of brand within our application. I could easily write my own JSP tag to do this but I was wondering if struts already offered something along these lines? If nothing else, I could build upon struts syntax in my own tag... Bern McCarty Bentley Systems, Inc.
RE: Struggling with select/options
Jean-Noel, merci beaucoup. Although using the collection mode of options, rather than name made, I'm accomplishing what I wanted to do. thanks again > -Original Message- > From: Jean-Noël Ribette [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, February 27, 2001 7:43 AM > To: [EMAIL PROTECTED] > Subject: Re: Struggling with select/options > > > > Did you put an int in your collection ? Did you try with a Integer ? > > Not in the collection of course but check you don't have an > int which should > be an Integer or a String somewhere. >
Re: Has any one used struts and log4j successfully?
Hi, Is there anyway that I could prevent the call to getInstance of Category in every action class. So I can have instance of Category in base action class and every other class would extend from it. public class baseAction extends Action { static Category cat = Category.getInstance(loginAction.class.getName());} this way I can just use this cat instance in all other action class which extends from this base... public class logonAction extends baseAction{ and I can put cat.debug etc. here but the problem is that it would always print the base class name in the log. I was wondering if it is required to have Category as static bcoz otherwise I could pass the instance name of every classs instance to it.. -puneet I currently use Log4j with NDC enabled combined with struts. Here is how I use it: - Run PropertyConfigurator from a startup servlet - import org.apache.log4j.Category in your code - set reference to log4j in your code public class loginAction extends Action { static Category cat = Category.getInstance(loginAction.class.getName()); ... . . and in the body just call it: if ( cat.isDebugEnabled() ) cat.debug("Attempting login with session: " + sessionid); I hope that helps. I wish all products were as easy as log4j to integrate. -Mark - Original Message - From: "Sundar @eSaravana" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, February 27, 2001 2:01 PM Subject: Has any one used struts and log4j successfully? > Has anyone used log4j with struts? I have used log4j before, but I am new to > struts. So, I am just looking for a short cut. If you have,could you please > send me some code fragments to start off. > > I would really appreciate it. > > Cheers.! > Sundar > >
How do I iterate thru a hashtable using iterate tag?
Hi, Could someone please tell me what I am doing wrong below: user is a bean in session scope in my JSP and its getSuppliers() method returns a hashtable where keys are Suppliers Ids and elements are Supplier beans. -- I had the following code earlier and that was working. <% Hashtable hashTable = (Hashtable) user.getSuppliers(); for (Enumeration e = hashTable.elements(); e.hasMoreElements(); ) { SupplierBean supplier = (SupplierBean) e.nextElement(); %> <%= supplier.getCode() %> <%= supplier.getName() %> <%= supplier.getCountryName() %> <% } %> Thanks in advance. -Nimmi
RE: struts-example - handle of ServletException
This is the 3rd or 4th thank you email!!! We have so many emails. The Life is bad. But seriously, I think everyone is thankful for responses they get to their submissions. If everyone thanked people for every response the list would be too cluttered. Why not say thanks in advance? Hal -Original Message- From: Maya Muchnik [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 27, 2001 3:21 PM To: [EMAIL PROTECTED] Subject: Re: struts-example - handle of ServletException Thank you Incze. This is the 3rd or 4th good suggestions!!! We have so many gurus. The Life is good. Maya Incze Lajos wrote: > On Tue, Feb 27, 2001 at 12:07:15PM -0500, Maya Muchnik wrote: > > Hi, > > Do you have any ideas how registration.jsp file (struts-example) can be > > changed to handle a situation when a user call it directly. I do not "like" a > > SevletException to be displayed: > > > > Error: 500 > > Location: /struts-example/registration.jsp > > Internal Servlet Error: > > > > javax.servlet.ServletException: No bean found under attribute key > > registrationForm.A LOT OF ERRORS MESSAGES > > > > It is better to display some "friendly" error message or return to login.jsp. > > > > Maya > > > To avoid situations when a user targets directly to view page I see > three strategies: > > 1. Take all your view pages under WEB-INF. > 2. Use container managed security and disable access to directories >where your view pages reside (thes will be available only for >servlet dispather's forwarding/including). > 3. Place a logic at the start of your view pages which checks the >calling URL and redirects/forwards to the appropriate controler >action. > > Each of them has their odds but couldn't find a better solution so far. > incze
Re: struts-example - handle of ServletException
Thank you Incze. This is the 3rd or 4th good suggestions!!! We have so many gurus. The Life is good. Maya Incze Lajos wrote: > On Tue, Feb 27, 2001 at 12:07:15PM -0500, Maya Muchnik wrote: > > Hi, > > Do you have any ideas how registration.jsp file (struts-example) can be > > changed to handle a situation when a user call it directly. I do not "like" a > > SevletException to be displayed: > > > > Error: 500 > > Location: /struts-example/registration.jsp > > Internal Servlet Error: > > > > javax.servlet.ServletException: No bean found under attribute key > > registrationForm.A LOT OF ERRORS MESSAGES > > > > It is better to display some "friendly" error message or return to login.jsp. > > > > Maya > > > To avoid situations when a user targets directly to view page I see > three strategies: > > 1. Take all your view pages under WEB-INF. > 2. Use container managed security and disable access to directories >where your view pages reside (thes will be available only for >servlet dispather's forwarding/including). > 3. Place a logic at the start of your view pages which checks the >calling URL and redirects/forwards to the appropriate controler >action. > > Each of them has their odds but couldn't find a better solution so far. > incze
Re: Problems trying to deploy the struts example (1.0b) on solaris
Yes, yes, yes... When I've installed jdk1.3 the problem has disappeared. Thanx. Pablo. --- Maya Muchnik <[EMAIL PROTECTED]> escribió: > Is this the same index.jsp from struts-example? If > so, I do not have a > problem to run example on Sun 2.7 and JDK 1.3. > Maya > > Pablo Estades Fernández wrote: > > > More information; > > > > Here is my problematic index.jsp. > > > > Do you think the error can be related to NOT to > use > > JDK1.3? > > > > <%@ page language="java" %> > > <%@ taglib uri="/WEB-INF/struts-bean.tld" > > prefix="bean" %> > > <%@ taglib uri="/WEB-INF/struts-html.tld" > > prefix="html" %> > > <%@ taglib uri="/WEB-INF/struts-logic.tld" > > prefix="logic" %> > > > > > > > > > > > > > > > > > > scope="application"> > > > > ERROR: User database not loaded -- check > servlet > > container logs > > for error messages. > > > > > > > > > > > name="org.apache.struts.action.MESSAGE" > > scope="application"> > > > > ERROR: Application resources not loaded -- > check > > servlet container > > logs for error messages. > > > > > > > > > > > > > > page="/editRegistration.do?action=Create"> > key="index.registration"/> > > > key="index.logon"/> > > > > > > > > size="1">A > > Walking Tour of the Example > Application > > > > > > > > > > > > > > --- Pablo Estades Fernández <[EMAIL PROTECTED]> > > escribió: > Hi all, > > > > > > The struts example works fine on my W2K but when > I > > > try > > > to deploy it on solaris fails. > > > > > > This is my setup: > > > Solaris 2.6 > > > Sun JDK1.2 > > > > > > If it helps you, you can take a look on the > > > weblogic.properties, the start script > (startEx.sh) > > > and > > > the log (weblogic_pgn.log) > > > > > > If you need something more, please tell me. > > > > > > Thanx! > > > Pablo. > > > > > > > > > > > > ___ > > > Do You Yahoo!? > > > Envía mensajes instantáneos y recibe alertas de > > > correo con > > > Yahoo! Messenger - http://messenger.yahoo.es > > > > > ATTACHMENT part 2 application/x-zip-compressed > > name=myConf.zip > > > > > ___ > > Do You Yahoo!? > > Envía mensajes instantáneos y recibe alertas de > correo con > > Yahoo! Messenger - http://messenger.yahoo.es > = Pablo Estades Fernández ([EMAIL PROTECTED]). OCTO Technology (www.octo.fr/es) C/ Albacete, 5 - 7a Pl. 28027 Madrid Tel : + 34 - 91 405 93 80 ___ Do You Yahoo!? Envía mensajes instantáneos y recibe alertas de correo con Yahoo! Messenger - http://messenger.yahoo.es
Re: struts-example - handle of ServletException
On Tue, Feb 27, 2001 at 12:07:15PM -0500, Maya Muchnik wrote: > Hi, > Do you have any ideas how registration.jsp file (struts-example) can be > changed to handle a situation when a user call it directly. I do not "like" a > SevletException to be displayed: > > Error: 500 > Location: /struts-example/registration.jsp > Internal Servlet Error: > > javax.servlet.ServletException: No bean found under attribute key > registrationForm.A LOT OF ERRORS MESSAGES > > It is better to display some "friendly" error message or return to login.jsp. > > Maya > To avoid situations when a user targets directly to view page I see three strategies: 1. Take all your view pages under WEB-INF. 2. Use container managed security and disable access to directories where your view pages reside (thes will be available only for servlet dispather's forwarding/including). 3. Place a logic at the start of your view pages which checks the calling URL and redirects/forwards to the appropriate controler action. Each of them has their odds but couldn't find a better solution so far. incze
Re: Has any one used struts and log4j successfully?
I currently use Log4j with NDC enabled combined with struts. Here is how I use it: - Run PropertyConfigurator from a startup servlet - import org.apache.log4j.Category in your code - set reference to log4j in your code public class loginAction extends Action { static Category cat = Category.getInstance(loginAction.class.getName()); ... . . and in the body just call it: if ( cat.isDebugEnabled() ) cat.debug("Attempting login with session: " + sessionid); I hope that helps. I wish all products were as easy as log4j to integrate. -Mark - Original Message - From: "Sundar @eSaravana" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, February 27, 2001 2:01 PM Subject: Has any one used struts and log4j successfully? > Has anyone used log4j with struts? I have used log4j before, but I am new to > struts. So, I am just looking for a short cut. If you have,could you please > send me some code fragments to start off. > > I would really appreciate it. > > Cheers.! > Sundar > >
Has any one used struts and log4j successfully?
Has anyone used log4j with struts? I have used log4j before, but I am new to struts. So, I am just looking for a short cut. If you have,could you please send me some code fragments to start off. I would really appreciate it. Cheers.! Sundar
Re: form initialization using session
The way this is typically handled is to use an Action to populate the bean. So instead of linking your user directly to the JSP page, you link them to an Action. This Action typically loads the bean and then returns the success mapping, which, in struts-config.xml, you've mapped to the JSP that displays the values from the bean. The example application that comes with struts shows how to do this. The walking tour that accompanies the example explains it better than I have. Look at the relationship between EditSubscriptionAction.java, subscription.jsp, and SaveSubscriptionAction.java. Mike At 11:46 AM 2/27/2001, you wrote: >Hi all, > >I am working on an application where form fields need to default to >values that depend on the user's profile, which is stored in the >session. Unfortunately, it seems like struts forms are created >automatically without any hooks that allow access to the session to >initialize these fields. > >The only thing that I can think of is to have our application >proactively place the forms into the session with values initialized, >possibly to have the form page link through an action which creates and >initializes the form. However this abandons the utility of having >struts automatically create the forms for us - one of the many nice >things about struts! > >This seems to me like it would be a common problem. Does anyone have a >good solution for it? > >Cheers, > >Simon.
Question about iterate tag
Hi, Could someone please tell me what I am doing wrong below: user is a bean in session scope in my JSP and its getSuppliers() method returns a hashtable where keys are Suppliers Ids and elements are Supplier beans. Thanks in advance. -Nimmi
Re: struts-example - handle of ServletException
Thank you, Peter. So many good implementations around! Peter Alfors wrote: > We wrap errors in our own exception class, and store them in our request/session. > Then redirect the user to a standard error page that knows how to retrieve the > error from the request/session, and display it in a 'friendly' way to the user. > Our exception class contains a user message, as well as the actuall error. The > standard error page displays the user message with a link to an 'error details' > page that displays the actual error, stack trace, etc (for developers, admins, > etc). > > This allows your errors to be localized as well. :) > > Pete > > Maya Muchnik wrote: > > > Thank you. > > I thought, that some struts "magic" I can use. If I will use a standard > > "errorPage" as you suggest, I will lose all pluses of the good struts > > interface. > > Maya > > > > Jean-Noël Ribette wrote: > > > > > - Original Message - > > > From: Maya Muchnik <[EMAIL PROTECTED]> > > > To: <[EMAIL PROTECTED]> > > > Sent: Tuesday, February 27, 2001 5:07 PM > > > Subject: struts-example - handle of ServletException > > > > > > > Hi, > > > > Do you have any ideas how registration.jsp file (struts-example) can be > > > > changed to handle a situation when a user call it directly. I do not > > > "like" a > > > > SevletException to be displayed: > > > > > > > > Error: 500 > > > > Location: /struts-example/registration.jsp > > > > Internal Servlet Error: > > > > > > > > javax.servlet.ServletException: No bean found under attribute key > > > > registrationForm.A LOT OF ERRORS MESSAGES > > > > > > > > It is better to display some "friendly" error message or return to > > > login.jsp. > > > > > > > > > > Hi Maya, > > > > > > You can specify a defaut error page in case you get a exception in your page > > > using the <%@ page errorPage="myErrorPage.jsp" %> tag. If an error occurs in > > > the JSP, the user is send to this page. Have a look at the jsp spec for more > > > details. > > > > > > Jean-Noël
Re: struts-example - handle of ServletException
Thank you, David. David Winterfeldt wrote: > You can always add some logic tags at the top of the > registration.jsp to check if he is logged in, certain > objects are in scope that the form needs, etc. If the > criteria aren't met, forward him to any page you want > and display a message. You could also forward it to > an error.do page that could create a struts error > message that could be displayed on a page with the > html:errors tag. > > David > > --- Maya Muchnik <[EMAIL PROTECTED]> wrote: > > Hi, > > Do you have any ideas how registration.jsp file > > (struts-example) can be > > changed to handle a situation when a user call it > > directly. I do not "like" a > > SevletException to be displayed: > > > > Error: 500 > > Location: /struts-example/registration.jsp > > Internal Servlet Error: > > > > javax.servlet.ServletException: No bean found under > > attribute key > > registrationForm.A LOT OF ERRORS MESSAGES > > > > It is better to display some "friendly" error > > message or return to login.jsp. > > > > Maya > > > > > > > > __ > Do You Yahoo!? > Get email at your own domain with Yahoo! Mail. > http://personal.mail.yahoo.com/
Re: struts-example - handle of ServletException
We wrap errors in our own exception class, and store them in our request/session. Then redirect the user to a standard error page that knows how to retrieve the error from the request/session, and display it in a 'friendly' way to the user. Our exception class contains a user message, as well as the actuall error. The standard error page displays the user message with a link to an 'error details' page that displays the actual error, stack trace, etc (for developers, admins, etc). This allows your errors to be localized as well. :) Pete Maya Muchnik wrote: > Thank you. > I thought, that some struts "magic" I can use. If I will use a standard > "errorPage" as you suggest, I will lose all pluses of the good struts > interface. > Maya > > Jean-Noël Ribette wrote: > > > - Original Message - > > From: Maya Muchnik <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Tuesday, February 27, 2001 5:07 PM > > Subject: struts-example - handle of ServletException > > > > > Hi, > > > Do you have any ideas how registration.jsp file (struts-example) can be > > > changed to handle a situation when a user call it directly. I do not > > "like" a > > > SevletException to be displayed: > > > > > > Error: 500 > > > Location: /struts-example/registration.jsp > > > Internal Servlet Error: > > > > > > javax.servlet.ServletException: No bean found under attribute key > > > registrationForm.A LOT OF ERRORS MESSAGES > > > > > > It is better to display some "friendly" error message or return to > > login.jsp. > > > > > > > Hi Maya, > > > > You can specify a defaut error page in case you get a exception in your page > > using the <%@ page errorPage="myErrorPage.jsp" %> tag. If an error occurs in > > the JSP, the user is send to this page. Have a look at the jsp spec for more > > details. > > > > Jean-Noël begin:vcard n:; x-mozilla-html:FALSE org:http://www.irista.com/logo/irista.gif">Bringing Vision to Your Supply Chain adr:;; version:2.1 end:vcard
Re: struts-example - handle of ServletException
You can always add some logic tags at the top of the registration.jsp to check if he is logged in, certain objects are in scope that the form needs, etc. If the criteria aren't met, forward him to any page you want and display a message. You could also forward it to an error.do page that could create a struts error message that could be displayed on a page with the html:errors tag. David --- Maya Muchnik <[EMAIL PROTECTED]> wrote: > Hi, > Do you have any ideas how registration.jsp file > (struts-example) can be > changed to handle a situation when a user call it > directly. I do not "like" a > SevletException to be displayed: > > Error: 500 > Location: /struts-example/registration.jsp > Internal Servlet Error: > > javax.servlet.ServletException: No bean found under > attribute key > registrationForm.A LOT OF ERRORS MESSAGES > > It is better to display some "friendly" error > message or return to login.jsp. > > Maya > > > __ Do You Yahoo!? Get email at your own domain with Yahoo! Mail. http://personal.mail.yahoo.com/
Where are form tags?
Hello, In the beta release, which I downloaded and built, struts.jar did not have html tags. So, I just downloaded yesterday's binary and it does not have form tags. Am I missing something here? Any information is appreciated. Sundar
form initialization using session
Hi all, I am working on an application where form fields need to default to values that depend on the user's profile, which is stored in the session. Unfortunately, it seems like struts forms are created automatically without any hooks that allow access to the session to initialize these fields. The only thing that I can think of is to have our application proactively place the forms into the session with values initialized, possibly to have the form page link through an action which creates and initializes the form. However this abandons the utility of having struts automatically create the forms for us - one of the many nice things about struts! This seems to me like it would be a common problem. Does anyone have a good solution for it? Cheers, Simon.
Re: struts-example - handle of ServletException
Thank you. I thought, that some struts "magic" I can use. If I will use a standard "errorPage" as you suggest, I will lose all pluses of the good struts interface. Maya Jean-Noël Ribette wrote: > - Original Message - > From: Maya Muchnik <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Tuesday, February 27, 2001 5:07 PM > Subject: struts-example - handle of ServletException > > > Hi, > > Do you have any ideas how registration.jsp file (struts-example) can be > > changed to handle a situation when a user call it directly. I do not > "like" a > > SevletException to be displayed: > > > > Error: 500 > > Location: /struts-example/registration.jsp > > Internal Servlet Error: > > > > javax.servlet.ServletException: No bean found under attribute key > > registrationForm.A LOT OF ERRORS MESSAGES > > > > It is better to display some "friendly" error message or return to > login.jsp. > > > > Hi Maya, > > You can specify a defaut error page in case you get a exception in your page > using the <%@ page errorPage="myErrorPage.jsp" %> tag. If an error occurs in > the JSP, the user is send to this page. Have a look at the jsp spec for more > details. > > Jean-Noël
Re: Base tag question
> I thought target was part of the spec. In looking at the spec on > www.w3c.org, the following page specifically mentions the target attribute: > > http://www.w3.org/TR/html4/struct/links.html#edef-BASE > > However, the DTD does not mention the target attribute so I'm a bit > confused. I have my own copy of http://www.w3.org/TR/1999/REC-html401-19991224 and can assert that the spec does specify 'target' attribute in lieau of frames. The attributes.html file contains a table what tags are involved: Name Related Elements Type Default Depr DTD Comment --- -- ...... ... ... ...... ... target A, AREA, BASE,%FrameTarget; #IMPLIED L render in this FORM, LINK frame So, target is not even deprecated, The "L" in the DTD columne means "Loose DTD" according to the legend, which explains why you don't find it in the strict (?) DTD. Most "L" attributes are deprecated as well, but this is not. (The other not-D L attribute is "height" for IFRAME.) Form this table tyou can navigate to a very detailed explanation of the target attribute, where the BASE tag is mentioned explicitly in the attribute semantics: -- "16.3.2 Target semantics User agents should determine the target frame in which to load a linked resource according to the following precedences (highest priority to lowest): 1.If an element has its target attribute set to a known frame, when the element is activated (i.e., a link is followed or a form is processed), the resource designated by the element should be loaded into the target frame. 2.If an element does not have the target attribute set but the BASE element does, the BASE element's target attribute determines the frame. 3.If neither the element nor the BASE element refers to a target, the resource designated by the element should be loaded into the frame containing the element. 4.If any target attribute refers to an unknown frame F, the user agent should create a new window and frame, assign the name F to the frame, and load the resource designated by the element in the new frame. User agents may provide users with a mechanism to override the target attribute." -- So, we have an attribute which is specified, not deprecated but "L" - and not found in the strict DTD. Also, there are some attributes flagged with "F" which stands for "Frameset DTD". Seemengly, the decision is whether Struts taglibs support _frames_ (not D, L+F) or not (strict HTML DTD). incze
Re: struts-example - handle of ServletException
- Original Message - From: Maya Muchnik <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, February 27, 2001 5:07 PM Subject: struts-example - handle of ServletException > Hi, > Do you have any ideas how registration.jsp file (struts-example) can be > changed to handle a situation when a user call it directly. I do not "like" a > SevletException to be displayed: > > Error: 500 > Location: /struts-example/registration.jsp > Internal Servlet Error: > > javax.servlet.ServletException: No bean found under attribute key > registrationForm.A LOT OF ERRORS MESSAGES > > It is better to display some "friendly" error message or return to login.jsp. > Hi Maya, You can specify a defaut error page in case you get a exception in your page using the <%@ page errorPage="myErrorPage.jsp" %> tag. If an error occurs in the JSP, the user is send to this page. Have a look at the jsp spec for more details. Jean-Noël
struts-example - handle of ServletException
Hi, Do you have any ideas how registration.jsp file (struts-example) can be changed to handle a situation when a user call it directly. I do not "like" a SevletException to be displayed: Error: 500 Location: /struts-example/registration.jsp Internal Servlet Error: javax.servlet.ServletException: No bean found under attribute key registrationForm.A LOT OF ERRORS MESSAGES It is better to display some "friendly" error message or return to login.jsp. Maya
RE: Sample Servlet Controller
nagesh, I am not sure what you are asking for. You are able to write a vendor neutral app using the bluestone servlet engine. If you elaborate a bit I can offer some advice. You can get to a Trail Map on the gallery website for further information http://gallery.bluestone.com/scripts/SaISAPI.dll/Gallery.class/demos/trailMa ps/index.jsp thanks, Larry -Original Message- From: Nageshwar Charka [mailto:[EMAIL PROTECTED]] Sent: Tuesday, February 27, 2001 10:47 AM To: '[EMAIL PROTECTED]' Subject: Sample Servlet Controller Hi there, Can somebody help me in getting some sample code snippet for Struts Servlet Controller(Struts Application startup Servlet). Currently I am using SaServletEngine.class as the controller from Bluestone Software(HP). It just works fine, but I want to make a vender neutral app. Thanks in advance -nagesh
Re: Problems trying to deploy the struts example (1.0b) on solaris
I am using Tomcat. Pablo Estades Fernández wrote: > Yes Maya, it seems to be WebLogic. > > Are you using Tomcat under solaris or another server? > > --- Maya Muchnik <[EMAIL PROTECTED]> escribió: > I > think it is WebLogic related, because I do not > > have a problem to run > > struts-example on Sun 2.7 with Sun JDK 1.3. > > > > Pablo Estades Fernández wrote: > > > > > Hi all, > > > > > > The struts example works fine on my W2K but when I > > try > > > to deploy it on solaris fails. > > > > > > This is my setup: > > > Solaris 2.6 > > > Sun JDK1.2 > > > > > > If it helps you, you can take a look on the > > > weblogic.properties, the start script (startEx.sh) > > and > > > the log (weblogic_pgn.log) > > > > > > If you need something more, please tell me. > > > > > > Thanx! > > > Pablo. > > > > > > > > > ___ > > > Do You Yahoo!? > > > Envía mensajes instantáneos y recibe alertas de > > correo con > > > Yahoo! Messenger - http://messenger.yahoo.es > > > > > > > > > > > > Name: myConf.zip > > >myConf.zip Type: Zip Compressed Data > > (application/x-zip-compressed) > > > Encoding: base64 > > > Description: myConf.zip > > > > ___ > Do You Yahoo!? > Envía mensajes instantáneos y recibe alertas de correo con > Yahoo! Messenger - http://messenger.yahoo.es
Re: Problems trying to deploy the struts example (1.0b) on solaris
Is this the same index.jsp from struts-example? If so, I do not have a problem to run example on Sun 2.7 and JDK 1.3. Maya Pablo Estades Fernández wrote: > More information; > > Here is my problematic index.jsp. > > Do you think the error can be related to NOT to use > JDK1.3? > > <%@ page language="java" %> > <%@ taglib uri="/WEB-INF/struts-bean.tld" > prefix="bean" %> > <%@ taglib uri="/WEB-INF/struts-html.tld" > prefix="html" %> > <%@ taglib uri="/WEB-INF/struts-logic.tld" > prefix="logic" %> > > > > > > > > > > > ERROR: User database not loaded -- check servlet > container logs > for error messages. > > > > > name="org.apache.struts.action.MESSAGE" > scope="application"> > > ERROR: Application resources not loaded -- check > servlet container > logs for error messages. > > > > > > page="/editRegistration.do?action=Create"> key="index.registration"/> > key="index.logon"/> > > > > A > Walking Tour of the Example Application > > > > > > > --- Pablo Estades Fernández <[EMAIL PROTECTED]> > escribió: > Hi all, > > > > The struts example works fine on my W2K but when I > > try > > to deploy it on solaris fails. > > > > This is my setup: > > Solaris 2.6 > > Sun JDK1.2 > > > > If it helps you, you can take a look on the > > weblogic.properties, the start script (startEx.sh) > > and > > the log (weblogic_pgn.log) > > > > If you need something more, please tell me. > > > > Thanx! > > Pablo. > > > > > > > ___ > > Do You Yahoo!? > > Envía mensajes instantáneos y recibe alertas de > > correo con > > Yahoo! Messenger - http://messenger.yahoo.es > > > ATTACHMENT part 2 application/x-zip-compressed > name=myConf.zip > > ___ > Do You Yahoo!? > Envía mensajes instantáneos y recibe alertas de correo con > Yahoo! Messenger - http://messenger.yahoo.es
Re: Problems trying to deploy the struts example (1.0b) on solaris
Yes Maya, it seems to be WebLogic. Are you using Tomcat under solaris or another server? --- Maya Muchnik <[EMAIL PROTECTED]> escribió: > I think it is WebLogic related, because I do not > have a problem to run > struts-example on Sun 2.7 with Sun JDK 1.3. > > Pablo Estades Fernández wrote: > > > Hi all, > > > > The struts example works fine on my W2K but when I > try > > to deploy it on solaris fails. > > > > This is my setup: > > Solaris 2.6 > > Sun JDK1.2 > > > > If it helps you, you can take a look on the > > weblogic.properties, the start script (startEx.sh) > and > > the log (weblogic_pgn.log) > > > > If you need something more, please tell me. > > > > Thanx! > > Pablo. > > > > > ___ > > Do You Yahoo!? > > Envía mensajes instantáneos y recibe alertas de > correo con > > Yahoo! Messenger - http://messenger.yahoo.es > > > > > > > Name: myConf.zip > >myConf.zip Type: Zip Compressed Data > (application/x-zip-compressed) > > Encoding: base64 > > Description: myConf.zip > ___ Do You Yahoo!? Envía mensajes instantáneos y recibe alertas de correo con Yahoo! Messenger - http://messenger.yahoo.es
Re: Problems trying to deploy the struts example (1.0b) on solaris
More information; Here is my problematic index.jsp. Do you think the error can be related to NOT to use JDK1.3? <%@ page language="java" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> ERROR: User database not loaded -- check servlet container logs for error messages. ERROR: Application resources not loaded -- check servlet container logs for error messages. A Walking Tour of the Example Application --- Pablo Estades Fernández <[EMAIL PROTECTED]> escribió: > Hi all, > > The struts example works fine on my W2K but when I > try > to deploy it on solaris fails. > > This is my setup: > Solaris 2.6 > Sun JDK1.2 > > If it helps you, you can take a look on the > weblogic.properties, the start script (startEx.sh) > and > the log (weblogic_pgn.log) > > If you need something more, please tell me. > > Thanx! > Pablo. > > > ___ > Do You Yahoo!? > Envía mensajes instantáneos y recibe alertas de > correo con > Yahoo! Messenger - http://messenger.yahoo.es > ATTACHMENT part 2 application/x-zip-compressed name=myConf.zip ___ Do You Yahoo!? Envía mensajes instantáneos y recibe alertas de correo con Yahoo! Messenger - http://messenger.yahoo.es
RE: Sample Servlet Controller
Hi! Check the example application that is included with the distribution. Another nice intro to struts can be found on: http://www-106.ibm.com/developerworks/library/j-struts/index.html?open&l=jls t004,t=gr,p=Struts // Torben -Original Message- From: Nageshwar Charka [mailto:[EMAIL PROTECTED]] Sent: den 27 februari 2001 16:47 To: '[EMAIL PROTECTED]' Subject: Sample Servlet Controller Hi there, Can somebody help me in getting some sample code snippet for Struts Servlet Controller(Struts Application startup Servlet). Currently I am using SaServletEngine.class as the controller from Bluestone Software(HP). It just works fine, but I want to make a vender neutral app. Thanks in advance -nagesh
in struts frame: onclick does not work
Hi folks, My onclick (for a button ) does not work with javascript validation. If I call the same javascipt function with onsubmit event in a form it works fine. I tried both Netscape4.7 and IE5.0. Since there are no javascipt errors in both the cases I am not able to debug. I guess event is not getting triggered. Am I missing anything here. Practically, we do button events javascript validations, since we deal with multiple buttons on each form. I am impressed by this framework, works just great both in client/server side validations! Thanks to Craig and his support team. -nagesh
Sample Servlet Controller
Hi there, Can somebody help me in getting some sample code snippet for Struts Servlet Controller(Struts Application startup Servlet). Currently I am using SaServletEngine.class as the controller from Bluestone Software(HP). It just works fine, but I want to make a vender neutral app. Thanks in advance -nagesh
Re: Problems trying to deploy the struts example (1.0b) on solaris
I think it is WebLogic related, because I do not have a problem to run struts-example on Sun 2.7 with Sun JDK 1.3. Pablo Estades Fernández wrote: > Hi all, > > The struts example works fine on my W2K but when I try > to deploy it on solaris fails. > > This is my setup: > Solaris 2.6 > Sun JDK1.2 > > If it helps you, you can take a look on the > weblogic.properties, the start script (startEx.sh) and > the log (weblogic_pgn.log) > > If you need something more, please tell me. > > Thanx! > Pablo. > > ___ > Do You Yahoo!? > Envía mensajes instantáneos y recibe alertas de correo con > Yahoo! Messenger - http://messenger.yahoo.es > > > Name: myConf.zip >myConf.zip Type: Zip Compressed Data (application/x-zip-compressed) > Encoding: base64 > Description: myConf.zip
jCVS help!
can any one help me with setting up jCVS for the source control. thanks __ Do You Yahoo!? Get email at your own domain with Yahoo! Mail. http://personal.mail.yahoo.com/
Building a Form dynamically
Hello all, I am developing an application, where I need to have a form which is a simple table. This table is built dynamically based on a database query. When I click on each row, I should navigate to a page corresponding to that row, and use the values in that row to display the page. How can I use the controller,ActionForm and the Form tags for such a scenario? Do I need to use an action form bean for each row? If that is the case, if I have too many rows, wouldn't that create that many instances of ActionForm and becomes a performance issue? Please send your suggestions. I am new to Struts. Thanks, Harish.
Re: Base tag question
At 05:35 PM 2/26/2001 -0800, you wrote: >James Howe wrote: > > > Is there some reason why the base tag defined in the HTML tag library > > doesn't let you specify the optional target attribute? I'm working with a > > frames based web application and I need to use both the href and target > > attributes. I know I could subclass the custom base tag, but before I do, > > I was wondering if there was any particular reason why the standard Struts > > base tag does let the user specify the target. > > > >I prefer not to support attributes that aren't in the official HTML 4.01 >specs, and this is one of those. You're welcome to support it yourself >in a subclass, however. > > > > > Thanks. > >Craig I thought target was part of the spec. In looking at the spec on www.w3c.org, the following page specifically mentions the target attribute: http://www.w3.org/TR/html4/struct/links.html#edef-BASE However, the DTD does not mention the target attribute so I'm a bit confused. Perhaps target will be superceded by a style-sheet specification? If you don't want to change the base tag implementation I will just plan on creating my own subclass. Thanks. James W. Howe mailto:[EMAIL PROTECTED] Allen Creek Software, Inc. pgpkey: http://ic.net/~jwh/pgpkey.html Ann Arbor, MI 48103
Problems trying to deploy the struts example (1.0b) on solaris
Hi all, The struts example works fine on my W2K but when I try to deploy it on solaris fails. This is my setup: Solaris 2.6 Sun JDK1.2 If it helps you, you can take a look on the weblogic.properties, the start script (startEx.sh) and the log (weblogic_pgn.log) If you need something more, please tell me. Thanx! Pablo. ___ Do You Yahoo!? Envía mensajes instantáneos y recibe alertas de correo con Yahoo! Messenger - http://messenger.yahoo.es myConf.zip
stupid Q: setters are not called if properties are empty
Sorry if you find if this is a bit off topic. ;) Hi all, Hope this is not a FAQ. (I spent 2 hours to do net search but didn't get a good answer) 8< 8< Introspection magic makes the property setters called if they match the input parameters by GET or by POST. e.g. URL?address1=a&address2=&address3= There are exceptions: setters of some parameters which have no value won't get called. In the above string, the later two are not called because they have no values assigned. Suppose my bean has session scope. Values kept unchanged. My question is: how can the web users clear a text field if the field is incorrectly filled? I suppose the introspection magic is a life-saver. I just don't want to check the return value of request.getParameter("address2) for each input to determine if it's empty. Can anybody give me a good alternative to clear unwanted fields easily? -- Kan LEUNG, M K email: [EMAIL PROTECTED] Digital Empires Company Limited
Re: Struggling with select/options
> Did you put an int in your collection ? Did you try with a Integer ? Not in the collection of course but check you don't have an int which should be an Integer or a String somewhere.
Re: Struggling with select/options
- Original Message - From: Martin J. La Jeunesse <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, February 27, 2001 1:57 PM Subject: Struggling with select/options > The examples I've seen using property="someProperty" /> all seem to reference a collection defined in the > same jsp as the options tag. Could someone provide a rookie with an example > where the collection bean is not defined in the same jsp, but rather by, say > an action servlet or an application bean? OK, just have a look at the subscription.jsp page in the example application, and remove the line 'pageContext.setAttribute("serverTypes", list);' Then add the following lines in the method perform of the class EditSubscriptionAction let's say before forwarding the control: java.util.ArrayList list = new java.util.ArrayList(); list.add(new org.apache.struts.example.LabelValueBean("IMAP Protocol", "imap")); list.add(new org.apache.struts.example.LabelValueBean("POP3 Protocol", "pop3")); list.add(new org.apache.struts.example.LabelValueBean("Another Protocol", "another")); session.setAttribute("serverTypes", list); This displays the protocol names and the option values are set to "imap" "pop3" and "another". > For example, say I've got a User > bean with a Vector of ints called Accounts. I'd like to display those > accounts in a list-box - ultimately I'd like to display an associated name > and use the int as the option value. Did you put an int in your collection ? Did you try with a Integer ? I know that I can use labelName and > labelProperty for this, but I haven't gotten the first part working yet. > I'm able to get other options mode. Most of the ways I've tried it result in class cast > exceptions during the jsp compile. > thank you, > Marty La Jeunesse > Jean-Noël
Struggling with select/options
The examples I've seen using all seem to reference a collection defined in the same jsp as the options tag. Could someone provide a rookie with an example where the collection bean is not defined in the same jsp, but rather by, say an action servlet or an application bean? For example, say I've got a User bean with a Vector of ints called Accounts. I'd like to display those accounts in a list-box - ultimately I'd like to display an associated name and use the int as the option value. I know that I can use labelName and labelProperty for this, but I haven't gotten the first part working yet. I'm able to get
Re: What a jar file is needed?
Wayne, Thank you for your suggestion. I put copies of jaxp.jar and parser.jar from jaxp1.0.1 package (Sun Microsystems) to /usr/java/jre/lib/ext and the file was compiled. Does anyone know why and what case we need to have crimson.jar, xlan.jar? The second Q. (maybe it was corrected for the beta release): why is needed to use deprecated functions in struts.util.BeanUtils.java: LinkUserTag.java:191: warning: filter(java.lang.String) in org.apache.struts.util.BeanUtils has been deprecated url.append(BeanUtils.filter(user.getUsername())); ^ LinkUserTag.java:197: warning: filter(java.lang.String) in org.apache.struts.util.BeanUtils has been deprecated results.append(response.encodeURL(BeanUtils.filter(url.toString(; ^ Similar output for LinkSubscriptionTag.java. In struts.util.BeanUtils.java two deprecated functions are used: ResponseUtils.filter() and PropertyUtils.getProperty(). I have (and maybe others) a tag "filter" to filtering special characters for HTML interpreters. Maybe it is possible to use this code instead of the deprecated function? Thanks, Maya Wayne Ohm wrote: > Are you sure you have installed an XML parser? Make sure you download it > first (http://java.sun.com/xml), and install the jar files (jaxp.jar, > crimson.jar, xlan.jar) in C:\jdk1.3\jre\lib\ext (for JDK v1.3, for > example). This will eliminate the need to modify CLASSPATH. > > Maya Muchnik wrote: > > > Hi, > > I have tried to compile struts-example. DatabaseServlet.java is looking > > for HandlerBase.class and InputSource.class from org.xml.sax. The error > > messages are: > > > > DatabaseServlet.java:273: cannot access org.xml.sax.HandlerBase > > file org/xml/sax/HandlerBase.class not found > > Digester digester = new Digester(); > > ^ > > DatabaseServlet.java:287: cannot access org.xml.sax.InputSource > > file org/xml/sax/InputSource.class not found > > digester.parse(bis); > > ^ > > > > Maybe I have missed this question from others. > > > > Maya > > P.S. Maybe I have the old struts.jar?
Re: "hide" a link or JSP's URL
Thank you both, Craig M. and Craig T. very much! Maya "Craig R. McClanahan" wrote: > Maya Muchnik wrote: > > > Hi, > > > > How make a link or JSP URL "invisible" to a browser? I have read some chapter > > in a book, I know that this is possible. Is it possible with Struts? Is it > > some property "visible=true / false"? > > > > Another Craig knew the JavaScript trick for this one :-). > > > > > The second question is about "input" parameter in "Action Mapping" section of > > struts-config.xml. For example, struts-example has no "input" for "Edit user > > registration", but has "forward" for "success". On the other hand, "A walking > > tour of the example application" > > (http://localhost:8080/struts-example/tour.htm) has both (paragraph > > "CheckLoginTag.java": > > > > I suspect this part of the walking tour was based on an older version of > the > example code. > > > --- > > > > > type="org.apache.struts.example.EditRegistrationAction" > > name="registrationForm" > > scope="request" > > validate="false" > > input="/registration.jsp"> > > > > > > -- > > What is right? > > > > The "official" version of the example (that is, the code that is > actually > executed when you run the example), does not have an "input" attribute > on the > "/editRegistration" action. The reasoning is this: the > "/editRegistration" > action is never used as the target of a form submit, so there is no > concept of > returning to an input form after a validation error. This action is > invoked to > "set up" a new form bean before transferring to "registration.jsp" for > entry, so > there is no need for input processing before it is invoked. > > One of the places that "/editRegistration.do" is referenced is on the > main menu > page -- it is the destination of the hyperlink for the "Edit your user > registration profile". So, if we follow through on what happens when > you run the > app: > (1) Log on and go to the main menu. > (2) Click the hyperlink for "/editRegistration.do" > (3) This action sets up a form bean, populated from your current > user information. > (4) This action returns a forward to the "success" page, > registration.jsp > (5) The registration page displays, accepts your input, > and submits to the "/saveRegistration" action > (6) This action has an input form declared, so the validation occurs. > If there are any errors, returns to (5) with the error messages > object > created > (7) If there are no errors, the save registration action is called. > > So, you should use an "input" attribute only on actions that actually > accept an > input form (and therefore might detect validation errors and need to > return). > Actions that don't do this do not need an "input" attribute. > > > > > Maya > > Craig
Re: AW: Template tags?
"D. Veniseleas" wrote: > these taglibs. The template taglibs are in CVS and easily accessed but I'm > wondering if these are going to be distributed in the next release of > struts. To quote David Geary, 'templates are here to stay'. All functionality that is in the Beta or nightly builds will be in the final release of struts 1.0. -Rob
Re: faq
Unfortunately, there's not an official FAQ for Struts right now. (Jakarta's Jyve installation seems to be hopelessly broken.) I've started a draft of a "kickstart" FAQ at < http://husted.com/about/struts/kickstart.html > in case that helps. -- Ted Husted, Husted dot Com, Fairport NY USA. -- Custom Software ~ Technical Services. -- Tel 716 737-3463. -- http://www.husted.com/about/struts/
Re: Stupd question about Struts and EJB.
As far as struts 1.0, the Form bean is used only to redisplay information to the jsp page. Typically the EJB might be loaded/unloaded in the action class. If you search www.mail-archives.co,m Craig talked more about this in detail. In future version of struts this may be enhanced. -Rob > Cameron Ingram0 wrote: > > I am in the process of convincing my company to go with MVC and Struts. As with any >thing new, > people are sometimes resistant > to change. One of the opposition questions I am getting is, how will this work with >EJB(problem is > I don't know too much about EJB currently). Do the EJB's references just go in the >Form and > Action Bean and every thing else behaves the same? Are there any obvious points that >I can bring > up on the subject? > Any help on this subject would be much appreciated! > > Thanks, Cameron Ingram
Re: Stupd question about Struts and EJB.
EJBs come in two flavours (as opposed to flavors), session beans and entity beans. Session beans represent business logic and rules, entity beans represent a row in the database. The model that you'd use is to have Actions do the basic processing of form elements into data beans (just regular beans, nothing special), but no business rules. The Action then calls a session bean with the data bean to do something (eg. usdate user details in the database). The session bean connects to the database with an entity bean (or more than one depending on the database structure). Visually, you'd have JSP => Action => Session Bean=> Entity Bean => Database Hope that helps. At 06:37 AM 27/02/01 -0500, you wrote: > > I am in the process of convincing my company to go with MVC and Struts. As > with any thing new, people are sometimes resistant > to change. One of the opposition questions I am getting is, how will this > work with EJB(problem is I don't know too much about EJB currently). Do the > EJB's references just go in the Form and Action Bean and every thing else > behaves the same? Are there any obvious points that I can bring up on the > subject? > Any help on this subject would be much appreciated! > > Thanks, Cameron Ingram -- Kumera - a new Open Source Content Management System for small to medium web sites written in Perl and using XML http://www.cyber4.org/kumera/index.html
AW: Template tags?
-Ursprungliche Nachricht- Von:John Nikolai [SMTP:[EMAIL PROTECTED]] Gesendet am:Mittwoch, 21. Februar 2001 01:31 An: [EMAIL PROTECTED] Betreff:Template tags? Hi all! I'm defiantly new to the struts and taglibs so please bear with my questions: We are writing a proof of concept to see if struts will meet our needs for a non-profit customer we are working with. Several questions have come up during this process. First off, the web pages we will be creating will have a common navigation bar used across the whole web site. It would be great if we can create one HTML file called navigation.jsp which all pages use. It seems that the struts template taglibs might be the solution, unfortunately the 0.5 version of struts we downloaded does not contain these taglibs. The template taglibs are in CVS and easily accessed but I'm wondering if these are going to be distributed in the next release of struts. Also I'm wondering if the template taglibs will suit our needs. Any other solutions to the above problem would be greatly appreciated. OK, this was only one question. I'm sure as we move along with the proof of concept more will pop up. Thanks for all your help, - John [] Hi, I'm using a nightly build of struts 1.0 since some weeks and template tags are working quite well. I insert data from files as well as from a database. You can also invoke a template by itself and get very strange results... Dimitris
Stupd question about Struts and EJB.
I am in the process of convincing my company to go with MVC and Struts. As with any thing new, people are sometimes resistant to change. One of the opposition questions I am getting is, how will this work with EJB(problem is I don't know too much about EJB currently). Do the EJB's references just go in the Form and Action Bean and every thing else behaves the same? Are there any obvious points that I can bring up on the subject? Any help on this subject would be much appreciated! Thanks, Cameron Ingram
struts - servlet/xml
hi there, I've got working software on the server side and I would like (I have) to create servlet-XML interface for it. The questions are: How 'struts' is able to help me to do it faster ? Is it able to support me at all ? Will I have something more from it ? Thanks in advance Sebastian