RE: OT jstl/el question
If I'm developing tags for JSP 2.0, then I don't have to explicitly call the ExpressionEvaluator on an attribute within the tag since I will be receiving the result of the expression evaluation? I was thinking of doing that with JSF tags also using the DynamicAttributes interface to allow possibly more flexibility with minimal changes in reflecting the HTML version of the tag. This way you just create setters/getters for JSF specific properties, everything else would be taken care of the DynamicAttributes behavior, dumping the results right into a Map within the 'setDynamicAttribute' method. Processing the value bindings is just a matter of iterating over the map's entries and producing either a ValueBinding or setting on the Attribute map. -Jacob > -Original Message- > From: Craig McClanahan [mailto:[EMAIL PROTECTED] > Sent: Wednesday, July 28, 2004 5:32 PM > To: Struts Users Mailing List > Subject: Re: OT jstl/el question > > On Wed, 28 Jul 2004 15:36:08 -0600, Nathan Maves <[EMAIL PROTECTED]> > wrote: > > I am using the EcpressionEvaluationManager class of jstl in my own > > custom tag. > > > > This used to work but now things are a bit weird. > > > > What I need it to be able to pass an Object (i.e. Date) to my custom > > tag. I think since I have enabled JSP 2.0 is now evals the var into a > > String before it is sent to the custom tag. Has anyone seen this or > > know how to accomplish this task. > > > > That's correct ... in a JSP 2.0 page, the page itself evaluates the > expressions for you. The nice thing is that this works everywhere, > even in template text; not just in attributes of custom tags that know > how to evaluate expressions. > > If you have a tag like this that needs to take a date: > > > > then you need to make sure that your tag implementation class uses a > Date as the property type for this attribute: > > private Date startDate; > public void setStartDate(Date startDate) { > this.startDate = startDate; > } > > and, of course, that the expression actually points at a property of > type Date. Your tag class need not know anything about evaluating > expressions itself. > > > Nathan > > > Craig > > PS: While you are messing around with your tag implementation class, > you might want to experiment with using the new SimpleTag APIs instead > of the classic Tag handler API. This API is new in JSP 2.0, and makes > it *much* easier to write a custom tag implementation class. > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Re[3]: character encoding
The new JSF spec does allow for Content-Type lookup, here's a bit of code that I used in my implementation to find the content type out of that header, it might be of some use to you or whoever: protected static final Pattern PATTERN_CHARSET = Pattern.compile(".*charset\\s*=\\s*([\\w\\-]+)(\\s*|;).*"); /** * Grab the character encoding from the request, if not found, check the * stored value. Finally, set the character encoding on the request * * @param context * @param stored * @throws FacesException */ protected void setCharacterEncoding(FacesContext context) throws FacesException { ExternalContext extCtx = context.getExternalContext(); Object request = extCtx.getRequest(); if (request instanceof ServletRequest) { String contentType = (String) extCtx.getRequestHeaderMap().get("Content-Type"); String charset = null; if (contentType != null) { Matcher match = PATTERN_CHARSET.matcher(contentType); if (match.lookingAt()) { charset = match.group(1); } } if (charset == null) charset = (String) extCtx.getSessionMap().get(CHARACTER_ENCODING_KEY); if (charset != null) { try { ((ServletRequest) request).setCharacterEncoding(charset); } catch (UnsupportedEncodingException uee) { extCtx.log("Error Encoding: " + charset, uee); } } } } Note, this required J2SE 1.4. Cheers, Jacob Hookom -Original Message- From: Carl-Eric Menzel [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 21, 2004 2:44 PM To: Larry Young Cc: Struts Users Mailing List Subject: Re[3]: character encoding > Then I'm out of luck. That's the biggest problem with Strut's lack of > support for the accept-charset attribute. *Most of the time* it works > that if you send the response in UTF-8 the next request will come in > as UTF-8 too. That's what I'm doing now - I send out only UTF-8 forms > and assume that I get the same back. It's an ugly hack, but the only > way that seems to work at the moment. > I asked a few weeks ago if there was any way for me to extend the form > tag to support this attribute, or whether there is any good reason why > it is not implemented. So far I haven't received an answer. PS: While searching for a solution I found that the HTTP spec actually provides the browsers with a way to *specify* the encoding they're sending, which would completely solve this issue. It appears that the only browser that supported it *was* Mozilla. They found out that this extended (but conforming to the spec!) Content-Type header made so many broken CGI-scripts puke that they removed this feature again. *sigh* Carl-Eric -- Antwort: Weil es das Lesen des Textes erschwert. | Carl-Eric Menzel Frage : Warum ist das so schlimm? | PGP ID: 808F4A8E Antwort: Antworten oben zu schreiben. | Bitte keine HTML- Frage : Was ist die schlimmste Unsitte in Emails? | Mails schicken. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: JSF vs Struts
I've been toying around with integrating JSF and Macromedia Flex. Both use xml markup in which you can generate a multistep rendering process involving JSTL/JSF and MXML: http://www.macromedia.com/devnet/flex/articles/first_flexapp_02.html So JSTL/JSF could communicate the view layer via a special FlexRenderKit of the same components you already use within HTML applications in JSF. Input processing would probably best be communicated through SOAP from the client to the server once the UI is defined via the FlexRenderKit. Regards, Jacob Hookom -Original Message- From: Craig McClanahan [mailto:[EMAIL PROTECTED] Sent: Monday, July 19, 2004 12:13 PM To: Struts Users Mailing List Subject: Re: JSF vs Struts On Mon, 19 Jul 2004 10:25:13 -0400, Rick Reumann <[EMAIL PROTECTED]> wrote: > > We're thinking about using Flash forms for some things. Will they plugin > nicely to JSF? > Hooking up the output side of that should be a piece of cake ... write some components that render the necessary markup to embed the Flash stuff in the generated page. I'm not familiar with the input side of using Flash for this, but in principle it should still just be a matter of having your component (or renderer) decode() method parse the appropriate request parameters and store the values, just as the standard HTML components do. Craig - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [OT] Get Servlet Mapping at Runtime
I've been playing around and I know that it's a suffix mapping if request.getPathInfo == null, more investigation ensues. -Original Message- From: Robert Taylor [mailto:[EMAIL PROTECTED] Sent: Friday, July 09, 2004 11:16 AM To: Struts Users Mailing List Subject: RE: [OT] Get Servlet Mapping at Runtime I think you would have to define the mapping that exists in web.xml for that servlet in one of that servlets init parameters. I don't believe its explicitely available through an API call. robert > -Original Message----- > From: Hookom, Jacob [mailto:[EMAIL PROTECTED] > Sent: Friday, July 09, 2004 11:53 AM > To: 'Struts Users Mailing List' > Subject: [OT] Get Servlet Mapping at Runtime > > > Hey all, does anyone have any ideas of how to get the Servlet mapping during > runtime? So if I were inside of a servlet, I want the mapping for it when > handling the request. I can't assert suffix parsing of the request URI. > > Thanks for any ideas in advance :-) > > > Jacob Hookom > Senior Analyst/Programmer > McKesson Medical-Surgical, Minnesota > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[OT] Get Servlet Mapping at Runtime
Hey all, does anyone have any ideas of how to get the Servlet mapping during runtime? So if I were inside of a servlet, I want the mapping for it when handling the request. I can't assert suffix parsing of the request URI. Thanks for any ideas in advance :-) Jacob Hookom Senior Analyst/Programmer McKesson Medical-Surgical, Minnesota - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Theoretical debate
I've been working on an example with AOP on the Controller and View Objects. I have a set of Objects that support the view with controller methods. These methods are supported by aspects to handle exceptions, caching, and chaining of method calls. In result, it's taking an application layer and providing compile time support for the same kind of features that Struts provides-- but slightly faster and framework independent with AspectJ. -Original Message- From: Mike Duffy [mailto:[EMAIL PROTECTED] Sent: Thursday, July 08, 2004 11:10 PM To: Struts Users Mailing List Subject: Re: Theoretical debate One aspect of JSF which I find troubling is, "With JSF, the component model takes care of all the responsibilities that Struts uses an ActionForm form, so you don't need one any more." Most of the JSF examples I've studied use method (2) from Craig's list below: "You can bind component *values* directly to properties in your backing bean, and then provide the business logic as action methods in the same class." As an example of this approach see, Developing Web Interfaces with JSF, http://www.fawcette.com/javapro/2004_01/magazine/features/cschalk/default.as px IMHO, mixing business logic in the backing bean is not a great design. I like the clean separation provided by the Struts action class. Method (3) from Craig's list below seems like a viable solution: "You can bind component *values* directly to properties on a VO/DTO object, and bind action events to methods on a separate bean that will either perform the logic directly or delegate to a business logic class." I've read most of the major articles on JSF. I have not seen method (3) implemented as an example. Does anyone have a link that they can send showing the implementation of method (3)? Does anyone know if there will be a reference implementation for JSF using method (3)? I think it would increase the acceptance of JSF in the Struts community if such a reference implementation was available. Thanks. Mike --- Craig McClanahan <[EMAIL PROTECTED]> wrote: > Hookom, Jacob wrote: > > >Look at JSF, do you have actions? No, JSF just updates your POJO beans and > >calls methods on them. Why have an ActionForm or have to create all of > >these Actions that are simply getter/setter adapters? Please don't be too > >quick to retort to my supposed anti-struts mindset, but there are other > >frameworks out there that allow direct interaction with my business objects > >and don't require a heck of a lot of framework specific coding. > > > > > > > (Coming into this discussion late, but figured that my experience on > both the Struts and JSF side of things might provide some illuminating > food for thought :-) > > It's instructive, first, to go back to the beginning of Struts > development (just over four years ago), and recall why an ActionForm > exists in the first place. The only reason we created that abstraction > was to deal with some pesky real world problems in designing webapps ... > primarily dealing with conversion (where we really punted ... see > below), validation, and little things like maintaining the state of > checkboxes. Because Struts doesn't have any "user interface component" > concept, dealing with those things had to go somewhere -- and a common > abstraction at least made it easy to understand. > > Therefore, the recommended design pattern for a Struts based app becomes: > > - An ActionForm per input , normally with > String-based properties (so you can redisplay > invalid input the way users expect you to). > > - A set of validation rules that are applied for you > on the server side, and optionally also on the > client side. > > - If a validation error occurs, Struts takes care > of redisplaying the page (with error messages) > > - If validation succeeds, the application Action > is responsibe for performing conversions of the > String valued things in the ActionForm to match > the underlying model data types, typically by > copying them in to DTO/VO type objects and > passing them to business logic (although, as others > have pointed out, lots of Struts developers have > skipped this extra layer). > > With JSF, the component model takes care of all the responsibilities > that Struts uses an ActionForm for, so you don't need one any more. > Indeed, I anticipate people will choose one or more (they aren't > mutually exclusive) of at least three different styles for building > JSF-based webapps: > > (1) You can bind individual *components* to backing bean properties, > similar to how ASP.Net "code behind files" work. This will > be most comfort
RE: Theoretical debate
You threw me for a loop with replying so late to that email-- It just comes down to giving the developer the ability to scale their own layers with JSF like you said below. If I want ActionForms, then I will have JSF update request/session scope beans that are only for the view. If I want something simpler, then I can have JSF update my business beans themselves. JSP->View Logic/Beans->Business Logic/Beans JSP->Business Logic/Beans PS: Craig, did you get my email to Ed Burns and yourself about a new, faster JSF-specific EL implementation for JSF RI? Best Regards, Jacob Hookom -Original Message- From: Craig McClanahan [mailto:[EMAIL PROTECTED] Sent: Thursday, July 08, 2004 7:35 PM To: Struts Users Mailing List Subject: Re: Theoretical debate Hookom, Jacob wrote: >Look at JSF, do you have actions? No, JSF just updates your POJO beans and >calls methods on them. Why have an ActionForm or have to create all of >these Actions that are simply getter/setter adapters? Please don't be too >quick to retort to my supposed anti-struts mindset, but there are other >frameworks out there that allow direct interaction with my business objects >and don't require a heck of a lot of framework specific coding. > > > (Coming into this discussion late, but figured that my experience on both the Struts and JSF side of things might provide some illuminating food for thought :-) It's instructive, first, to go back to the beginning of Struts development (just over four years ago), and recall why an ActionForm exists in the first place. The only reason we created that abstraction was to deal with some pesky real world problems in designing webapps ... primarily dealing with conversion (where we really punted ... see below), validation, and little things like maintaining the state of checkboxes. Because Struts doesn't have any "user interface component" concept, dealing with those things had to go somewhere -- and a common abstraction at least made it easy to understand. Therefore, the recommended design pattern for a Struts based app becomes: - An ActionForm per input , normally with String-based properties (so you can redisplay invalid input the way users expect you to). - A set of validation rules that are applied for you on the server side, and optionally also on the client side. - If a validation error occurs, Struts takes care of redisplaying the page (with error messages) - If validation succeeds, the application Action is responsibe for performing conversions of the String valued things in the ActionForm to match the underlying model data types, typically by copying them in to DTO/VO type objects and passing them to business logic (although, as others have pointed out, lots of Struts developers have skipped this extra layer). With JSF, the component model takes care of all the responsibilities that Struts uses an ActionForm for, so you don't need one any more. Indeed, I anticipate people will choose one or more (they aren't mutually exclusive) of at least three different styles for building JSF-based webapps: (1) You can bind individual *components* to backing bean properties, similar to how ASP.Net "code behind files" work. This will be most comfortable to VB developers, and is useful when you need to programmatically modify component properties. (2) You can bind component *values* directly to properties in your backing bean, and then provide the business logic as action methods in the same class. Because the components take care of conversion, you're free to use model-oriented data types for such properties, so you don't need to worry about explicit conversion any more. This style will appear to Struts developers like a combination of an Action and an ActionForm in the same class, and will also appeal to the crowd that likes O-O encapsulation :-). (3) You can bind component *values* directly to properties on a VO/DTO object, and bind action events to methods on a separate bean that will either perform the logic directly or delegate to a business logic class. This style will feel more like traditional Struts separated ActionForm and Action classes, but the Action won't have as much to do. It's also a great way to build a webapp on top of existing application infrastructure that provides resuabe VO/DTO and business logic classes already. I believe that all three approaches are valid -- which one you take for a particular application function depends on your use case for that function. You don't have to be exclusive, either. Combine them where it makes sense. Craig McClanahan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Dynamic data html generation
Google display taglib -Original Message- From: JoAnn Lemm [mailto:[EMAIL PROTECTED] Sent: Thursday, July 08, 2004 2:55 PM To: Struts Users Mailing List Subject: Dynamic data html generation Hi All, I have a set of data that needs to be displayed in an html table. Each column has its own formatting. The data are stored as rows in an ArrayList in the Form bean. How can I create this HTML table using struts without resorting to building the table in the bean. --JoAnn - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: What Is Wrong With This Tag?
To do something like that, you would have to use JSTL functions because the DOT notation you have written is interpreted as: attachBean.getAttachMimeType().getStartsWith(<--- error So, each DOT is referencing a property of the JavaBean. I would recommend checking out Sun's JSP/JSTL documentation. Or taking a closer look at the examples application that is included with Jakarta's Standard Taglibs. -Original Message- From: Caroline Jen [mailto:[EMAIL PROTECTED] Sent: Thursday, July 01, 2004 2:50 PM To: [EMAIL PROTECTED] Subject: What Is Wrong With This Tag? It seems that I have problems to get JSTL tags right error message: 74: tag = 'if' / attribute = 'test': An error occurred while parsing custom action attribute "test" with value "${attachBean.attachMimeType.startsWith('image/')}": Encountered "(", expected one of ["}", ".", ">", "gt", "<", "lt", "==", "eq", "<=", "le", ">=", "ge", "!=", "ne", "[", "+", "-", "*", "/", "div", "%", "mod", "and", "&&", "or", "||"] __ Do you Yahoo!? New and Improved Yahoo! Mail - Send 10MB messages! http://promotions.yahoo.com/new_mail - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [OT] Netscape 7.1 WOW!
I use Mozilla Firefox with the Developer tools built in (do custom install). This will do javascript validating, etc for you during development. There are also free 3rd party plugins too for the browser which let you do some pretty crazy stuff like switching all forms from posts to gets, inspect form data on page, etc. -Original Message- From: Michael McGrady [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 30, 2004 12:43 PM To: Struts Users Mailing List Subject: Re: [OT] Netscape 7.1 WOW! I will check it out, but the present Netscape is so much better than anything I have used before I am sticking with it a bit. I love the look too. Maybe the difference is that I did a custom installation? Michael At 10:01 AM 6/30/2004, you wrote: >I think Mozilla Firefox 0.9.1 would make you WOW! (all capitals!) > >http://www.mozilla.org/products/firefox/ > >ATTA > >- Original Message - >From: "Michael McGrady" <[EMAIL PROTECTED]> >To: "Struts Users Mailing List" <[EMAIL PROTECTED]> >Sent: Wednesday, June 30, 2004 9:51 AM >Subject: [OT] Netscape 7.1 WOW! > > > > I have not used Netscape regularly for a while. But, I just tried the > > newest Netscape 7.1 and I am really impressed. Wow! Speed, no crappy >ads, > > etc. This is what I had hoped a browser would do! > > > > Michael > > > > > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > >- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [OT] Anatomy of a long URL
Not if it's a POST. Example, we had a page that allowed you to modify multiple items at once in a list and submit them via a GET. This worked fine in testing. As customers started to use the app, their list of items got very large and the data submitted got much larger-- a much longer URL being submitted. But, it stopped working for some customers. After some investigation, we realized the we couldn't use a GET because the URL was too long. Changing to a post fixed it. I believe the max length is 256. GET: /app/updateItems.do?0di=2,4,92,10&1di=4,23,45,12&usr01=432,43,22,4 POST: /app/updateItems.do (all the data isn't encrypted in the URL) -Original Message- From: Rick Reumann [mailto:[EMAIL PROTECTED] Sent: Monday, June 28, 2004 9:11 AM To: Struts Users Mailing List Subject: Re: [OT] Anatomy of a long URL Hookom, Jacob wrote: > Another example is JSF. JSF allows you to store your state client side or > server side. If it's client side, your buttons, etc become POSTs instead of > GETs in order to get around the URL length limit. Also, hidden fields are > written out with your objects serialized into a string that you repost next > time you click a link on the page. I thought there was a limit to how large URLs can be (maybe that's a server limitation though?).. wouldn't the above potentially cause problems? -- Rick - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [OT] Anatomy of a long URL
It all kind of depends... most of the content is pregenerated such as in Amazon. Amazon uses what is called the ART1 algorithm to categorize users. These categories (java geek, linux guru, etc) are pre-generated web sites, created by some application they have in house (hence the cryptic url). So when you click around, you are interacting with a page that was generated, along with all of the links. Think of the extra garble as your session state that gets stored in the page you download to your computer vs. being stored in memory on the server. Another example is JSF. JSF allows you to store your state client side or server side. If it's client side, your buttons, etc become POSTs instead of GETs in order to get around the URL length limit. Also, hidden fields are written out with your objects serialized into a string that you repost next time you click a link on the page. -Original Message- From: Robert Taylor [mailto:[EMAIL PROTECTED] Sent: Monday, June 28, 2004 8:51 AM To: [EMAIL PROTECTED] Subject: [OT] Anatomy of a long URL I'm not sure the subject of this email is indicative of my question, but I have always wondered why amazon, sun, and some financial institutions, use long URL's for invoking actions. My only guess, since I've only worked at small companies where all the applications pretty much run on one machine, is that the URL contains either encoded/sensitive information or contains session information. I'm just wondering why the heck does it look so darn complex. For example, I just downloaded Sun's J2EE 1.4 SDK http://192.18.97.53/ECom/EComTicketServlet/BEGINjsecom16c.sun.com-9660%3A40e 01d9a%3A3099733a3e651ac9/-2147483648/428874567/1/483962/ 483914/428874567/2ts+/westCoastFSEND/j2eesdk-1.4_01-oth-JPR/j2eesdk-1.4_01-o th-JPR:1/j2eesdk-1_4_01-windows.exe after the "/-" then there appears to be some random numbers delimited by forward slashes. Is this some technique for sharing sessions across different applications? My apologies if this is one of those things that "everone" know's about except me. I really wasnn't sure how to google on this topic either, so if there is some general documentation I missed, please point me to it. robert - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [OT] FW: Timothy J Theis is out of the office
It's a local number for me... maybe I should chat with Mike for a while and see how Tim's vacation is going. -Original Message- From: Andy Engle [mailto:[EMAIL PROTECTED] Sent: Thursday, June 24, 2004 11:36 PM To: Struts Users Mailing List Subject: Re: [OT] FW: Timothy J Theis is out of the office Robert Taylor <[EMAIL PROTECTED]> wrote: > Should we call Mike, and tell him to tell Tim to unsubscribe when > he is out of the office :) I think we should. How annoying! Or we could have one of the list managers to unsubscribe him for us. Andy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Preventing user from validating a form twice
Look up request tokens in the documentation/API. There was also an article on www.javaworld.com a while back that you can search for. -Original Message- From: Olivier Citeau [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 22, 2004 4:10 PM To: [EMAIL PROTECTED] Subject: Preventing user from validating a form twice Hi, i think it must be a FAQ, but i did not found anything on this issue. When my user submits a form, the action executes an SQL Insert in the DBMS. What happened is that when user click twice, the second inserts fails with SQLException. What is strange, is that i cannot reproduce it in WSAD, but it happens on a full Websphere. Is there a way i can know that a user already submitted a form ? = Olivier Citeau Paris, France Créez gratuitement votre Yahoo! Mail avec 100 Mo de stockage ! Créez votre Yahoo! Mail sur http://fr.benefits.yahoo.com/ Dialoguez en direct avec vos amis grâce à Yahoo! Messenger !Téléchargez Yahoo! Messenger sur http://fr.messenger.yahoo.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: How to handle refresh
Sorry, I mean write out a no cache http header... (too early in the morning). -Original Message- From: Hookom, Jacob [mailto:[EMAIL PROTECTED] Sent: Monday, June 21, 2004 8:41 AM To: 'Struts Users Mailing List' Subject: RE: How to handle refresh Create two actions, a list action and a save action. In both cases, write out an no refresh http header - see Struts Config documentation for the controller element. When a user clicks save, post the data and on success or fail, REDIRECT to the list action. Then if they refresh, they will be refreshing the list action. Jacob Hookom Senior Analyst/Programmer McKesson Medical-Surgical -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Monday, June 21, 2004 1:23 AM To: Struts Users Mailing List Subject: How to handle refresh Hi all, We wish to customise the behaviour of IE refresh by just making it fetch the latest data from the db. It works fine in list and edit screens where the last action was a fetch. But if the user has previously saved a record, refresh causes the save action to be executed once again, contrary to what we wish to achieve. Is there any way in which we customise this behaviour? TIA, Suhash - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: How to handle refresh
Create two actions, a list action and a save action. In both cases, write out an no refresh http header - see Struts Config documentation for the controller element. When a user clicks save, post the data and on success or fail, REDIRECT to the list action. Then if they refresh, they will be refreshing the list action. Jacob Hookom Senior Analyst/Programmer McKesson Medical-Surgical -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Monday, June 21, 2004 1:23 AM To: Struts Users Mailing List Subject: How to handle refresh Hi all, We wish to customise the behaviour of IE refresh by just making it fetch the latest data from the db. It works fine in list and edit screens where the last action was a fetch. But if the user has previously saved a record, refresh causes the save action to be executed once again, contrary to what we wish to achieve. Is there any way in which we customise this behaviour? TIA, Suhash
RE: Theoretical debate
For me, it's more so the same argument for changes in EJB 3.0 -- which will just allow you to use POJO objects for persistence and transactions as provided by the framework itself. People argue that EJB is too complex and doing simple operations takes 6 classes when other frameworks like Hibernate will work with what you've got for objects. I don't think it's an issue of abstraction, I can create all the POJO facades I want until my fingers bleed in order to create separation between my view/front controller and my application logic, all non-framework specific of course. In summary, EJB 3.0 and JSF are pushing to accommodate your existing objects. IMHO, if I'm spending more time writing adapter code for the Struts framework then spending time on my core business objects I have to write anyways, then maybe it's good too look at alternative frameworks. -Original Message- From: Frank Zammetti [mailto:[EMAIL PROTECTED] Sent: Friday, June 18, 2004 8:37 AM To: [EMAIL PROTECTED] Subject: RE: Theoretical debate I know what your saying, it's the way I do things as well, doing very little work in the Actions aside from tossing values around and calling subordinate classes to do the real work. But doesn't that in a sense support the idea of an application being services cobbled together? What I mean is that the Struts portion of your application is really what is forming the application, if by application we mean the coherent whole set of pages that make up a larger system. In a sense, if you have that ShoppingCart object without it's methods, let's say as an EJB, on it's own it's not an application, it's when you make use of it from an Action that it becomes part of an application. Think of it this way... If you have a collection of EJB's that you call your "application", I would argue that's not correct, the application is really only formed when you have a layer above it, maybe a bunch of Struts Actions, that call on the services of those EJB's to form a whole application. In that mindset, I can see some logic to saying something like Crysalis is on a better path because your simplifying things a bit by essentially removing a layer. I think we're all conditioned to think that ADDING layers of abstaction is a good thing, but I wonder if that's not in a great many cases just added extra layers of complexity that we don't really need. That's why I made that statement about services. I mean, the whole Web Services movement, when taken to it's logical conclusion, tells us that we should be building applications by cobbling together a number of losely-coupled service requests, that taken together form a larger application. That's kind of the whole point of WS. Also, please no one get the idea that I'm saying Struts is anything but good, or that I'm saying we shouldn't be doing things the way we are doing them now. My point in starting this thread was just to point what I thought was an interesting way to look at things that I hadn't considered before, at least not precisely. If anything, much of the responses I've read have reinforced my belief that what we're doing now in Struts is generally pretty good. I am a big believer in the services model of development, have been for a number of years now (although I'm not so sure the current forms of this methodology are spot on just yet), so discussions of things like this are always of interest to me. Frank >From: Hubert Rabago <[EMAIL PROTECTED]> >Reply-To: "Struts Users Mailing List" <[EMAIL PROTECTED]> >To: Struts Users Mailing List <[EMAIL PROTECTED]> >Subject: RE: Theoretical debate >Date: Thu, 17 Jun 2004 13:29:27 -0700 (PDT) > > > > From: Frank Zammetti [mailto:[EMAIL PROTECTED] > > Most likely you would have a ShoppingCart class with a number of >methods >in it, > > things like addItem(), removeItem(), totalPrice(), etc. > >I follow this design on my applications, on the *business logic* tier. >On that tier (whether I implement it as EJBs or POJOs), I would have an >actual business object that would have these methods. >I tend to look at Struts as a necessary add-on to the application to give >it a web front end. >To me, my web application isn't "a collection of services that are executed >to form a coherent larger application", rather it's just an interface >to the actual application that runs on the server. > > > --- "Hookom, Jacob" <[EMAIL PROTECTED]> wrote: > > With Struts, I have to create an ActionForm objects (can't just use a > > business object I already have), and then create separate Action >objects >to > >Because of the way I view my app, I have no problem separatin
RE: Theoretical debate
Just a follow up note on my blabber below, when using struts, you have to educate developers on the lifecycle and what all the parts are to the struts equation-- when a form gets reset, when it's validated, how to switch struts modules, etc. Just take a look at this past week's user group questions... -Original Message----- From: Hookom, Jacob [mailto:[EMAIL PROTECTED] Sent: Thursday, June 17, 2004 2:58 PM To: 'Struts Users Mailing List' Subject: RE: Theoretical debate I completely agree with what Crysalis is trying to push, also a framework called VRaptor (vraptor.org) also pushes the same idea of moving away from the procedural weight that Struts promotes. Look at JSF, do you have actions? No, JSF just updates your POJO beans and calls methods on them. Why have an ActionForm or have to create all of these Actions that are simply getter/setter adapters? Please don't be too quick to retort to my supposed anti-struts mindset, but there are other frameworks out there that allow direct interaction with my business objects and don't require a heck of a lot of framework specific coding. --- Example: To have a multi-page form with JSF, I just create a bean that sits in Session scope that has a series of getters and setters. JSF will also allow me to pre-set relationships to other objects at creation time. Then, when I'm ready to submit the multi-page form, I just put in the jsp #{myFormBean.submit}. No action mappings, only a managed bean entry. With Struts, I have to create an ActionForm objects (can't just use a business object I already have), and then create separate Action objects to manipulate that ActionForm. --- -Jacob Hookom -Original Message- From: Frank Zammetti [mailto:[EMAIL PROTECTED] Sent: Thursday, June 17, 2004 2:29 PM To: [EMAIL PROTECTED] Subject: Theoretical debate Last night I was Googling for something and I stumbled across the Crysalis framework. I was actualyl intrigued by the underlying premise of it and I wanted to see what others thought about it. In a nutshell and in my own words, Crysalis (http://chrysalis.sourceforge.net/) has the underlying idea that when you develop in most MVC frameworks, Struts chief among them, you are actually doing something unnatural and in a way at odds with basic OOP design. Think about a shopping cart example... If you were going to write that in straight Java, not for the web or anything, how would you model it? Most likely you would have a ShoppingCart class with a number of methods in it, things like addItem(), removeItem(), totalPrice(), etc. In Struts, although you aren't FORCED to, what you GENERALLY do is create three different Action classes like addItemAction, removeItemAction and totalPriceAction, and each is called in response to a form submission. But isn't it kind of odd that your object model isn't following what you probably think in your head is the right way, i.e., one class with multiple related methods? Proper encapsulation and all that jazz, right? Well, Crysalis does just that. It's controller elements are regular Java classes with multiple methods. What you wind up with is something that resembles Remote Procedure Calls instead of numerous servlets as controllers. In other words, you would create the ShoppingCart object just as I described above, with all three methods. Then, when you submit a form, the action is something along the lines of "ShoppingCart.addItem.cmd". ShoppingCart is the class to execute, addItem the method and cmd is a suffix to direct the request, just like extensions in your Struts apps map requests to ActionServlet. The elements of the submitted form are treated as the parameters of the method being called, making it rather elegant. I haven't gotten into any real detail on Crysalis, but I was interested in getting other peoples' thoughts on the underlying principal (which I *THINK* I've stated properly!). It was rather interesting to me because I'd never reall considered looking at it that way, and certainly it's not the way you typically approach a Struts-based application. It was also interesting to me because I've for about four years now been preaching here at work that we should write our applications as a collection of services that are executed to form a coherent larger application, which is very much along the lines of this (so I guess I actually HAVE looked at it this way in a sense, but not exactly). Any thoughts? Frank _ Watch the online reality show Mixed Messages with a friend and enter to win a trip to NY http://www.msnmessenger-download.click-url.com/go/onm00200497ave/direct/01/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --
RE: Theoretical debate
I completely agree with what Crysalis is trying to push, also a framework called VRaptor (vraptor.org) also pushes the same idea of moving away from the procedural weight that Struts promotes. Look at JSF, do you have actions? No, JSF just updates your POJO beans and calls methods on them. Why have an ActionForm or have to create all of these Actions that are simply getter/setter adapters? Please don't be too quick to retort to my supposed anti-struts mindset, but there are other frameworks out there that allow direct interaction with my business objects and don't require a heck of a lot of framework specific coding. --- Example: To have a multi-page form with JSF, I just create a bean that sits in Session scope that has a series of getters and setters. JSF will also allow me to pre-set relationships to other objects at creation time. Then, when I'm ready to submit the multi-page form, I just put in the jsp #{myFormBean.submit}. No action mappings, only a managed bean entry. With Struts, I have to create an ActionForm objects (can't just use a business object I already have), and then create separate Action objects to manipulate that ActionForm. --- -Jacob Hookom -Original Message- From: Frank Zammetti [mailto:[EMAIL PROTECTED] Sent: Thursday, June 17, 2004 2:29 PM To: [EMAIL PROTECTED] Subject: Theoretical debate Last night I was Googling for something and I stumbled across the Crysalis framework. I was actualyl intrigued by the underlying premise of it and I wanted to see what others thought about it. In a nutshell and in my own words, Crysalis (http://chrysalis.sourceforge.net/) has the underlying idea that when you develop in most MVC frameworks, Struts chief among them, you are actually doing something unnatural and in a way at odds with basic OOP design. Think about a shopping cart example... If you were going to write that in straight Java, not for the web or anything, how would you model it? Most likely you would have a ShoppingCart class with a number of methods in it, things like addItem(), removeItem(), totalPrice(), etc. In Struts, although you aren't FORCED to, what you GENERALLY do is create three different Action classes like addItemAction, removeItemAction and totalPriceAction, and each is called in response to a form submission. But isn't it kind of odd that your object model isn't following what you probably think in your head is the right way, i.e., one class with multiple related methods? Proper encapsulation and all that jazz, right? Well, Crysalis does just that. It's controller elements are regular Java classes with multiple methods. What you wind up with is something that resembles Remote Procedure Calls instead of numerous servlets as controllers. In other words, you would create the ShoppingCart object just as I described above, with all three methods. Then, when you submit a form, the action is something along the lines of "ShoppingCart.addItem.cmd". ShoppingCart is the class to execute, addItem the method and cmd is a suffix to direct the request, just like extensions in your Struts apps map requests to ActionServlet. The elements of the submitted form are treated as the parameters of the method being called, making it rather elegant. I haven't gotten into any real detail on Crysalis, but I was interested in getting other peoples' thoughts on the underlying principal (which I *THINK* I've stated properly!). It was rather interesting to me because I'd never reall considered looking at it that way, and certainly it's not the way you typically approach a Struts-based application. It was also interesting to me because I've for about four years now been preaching here at work that we should write our applications as a collection of services that are executed to form a coherent larger application, which is very much along the lines of this (so I guess I actually HAVE looked at it this way in a sense, but not exactly). Any thoughts? Frank _ Watch the online reality show Mixed Messages with a friend and enter to win a trip to NY http://www.msnmessenger-download.click-url.com/go/onm00200497ave/direct/01/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Rendering Images
Why would you use something like that? I'm maybe not following the code? Is this so instead of writing: /images/hello.gif you can write: /resource.do?file_type=gif&file_name=hello.gif ?? -Original Message- From: mike [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 16, 2004 10:14 AM To: Struts Users Mailing List; Struts Users Mailing List Subject: RE: Rendering Images I forgot. I have the entire solution I use at the struts wiki at http://wiki.apache.org/struts/StrutsCatalogEschewUrlForProtocol. All you have to do is to examine the input and give a different output for your problem. I use Wendy's get the data right solution, but I don't have your problem. This is the easiest way to do this, I think. At 11:20 PM 6/15/2004, Linck, Ken wrote: >It sounds like you have enough ways to do it and just asking what would >be the best way or if there is another way to more efficiently handle >your situation. Yes? > >I cannot think of one personally. If your only means is HTTP, your only >choice is evaluating the response to determine if something exists as >far as I can tell. If the request cant be served, I assume you get a >typical response code like a 404? Not sure what else there is. > >Nothing is real efficient when it comes to file io like functions via >HTTP. We tried to have a standard once for serving up file like >functions via HTTP but it becomes complex if you wanted to perform other >file-io activities like list files, seeing if they exist, list >directories, get file modified dates/times, delete files etc. Almost >felt like putting a square peg in a round hole for us(Course I might be >behind on the latest and greatest of HTTP). > >If I was concerned about managing unreliable sources, I probably would >have attempted a proxy-like solution through a struts action at first >crack to do as little coding as possible but it sounds like your past >the first crack at it? > >I will offer up my solution for battering by the populous here. > >You could set up a specific action which serves the images for remote >sites. Your JSP would have an action with a parameter passing in the >remote URL of the remote site. Since you indicated that you semi-manage >the reference of the image but cant guarantee that it actually exists >since its elsewhere, this solution might work good(i.e. you are >supplying the remote URL?). > >You could open a request to the remote site of your URL in a Struts >Action instead, if you get a success, take the content of the response >and shove it into your response, otherwise, shove the no-image found >file(from your server) into the response(Make sure you return a null >action mapping) since your writing off the content directly. > >Your JSP Might look like this: >src="http://www.mysites.com/proxyRemoteImage.do?remoteURL=name="thisForm" property="remoteURL"/>" width="300" height="300" >border=0> > >Semi/Pseudo Code for proxyRemoteImage.do action: >URL theRemoteImageURL = New URL(yourForm.getRemoteURL()); >Open theRemoteImageURL >Get Response >If Response Code good shove content, content type and all the other >stuff you need into your response of your users request(that might get >rid of you having to handle file type conditions). >If Response Code is bad, get the no image file data and shove that into >the response instead >Return null from execute method. > >I am sure you can gather upsides and downsides to the proxy-like >solution. Just thought I would throw it into the pool of options. Not >a great option but at least as simple I think. Not sure if you consider >it more flexible or not. > >Hope you find what your looking for. > > >-Original Message- >From: CRANFORD, CHRIS [mailto:[EMAIL PROTECTED] >Sent: Tuesday, June 15, 2004 4:44 PM >To: '[EMAIL PROTECTED]' >Subject: RE: Rendering Images > >Ken, > >That is what I'd like to do. Have an image which is rendered in the >case >when the defined image cannot be loaded. the problem I have is that our >database record says that an image should exist, but the >manufacturer/supplier didn't provide it to us... thus I need a way to >check if that image does exist to test that condition. > >thanks, >chris > >ps - these images are maintained by a second webapp that is on a >different web server all together due to space requirements. so i have >to do testing via a HTTP request or something i would think, no? > >-Original Message- >From: Linck, Ken >To: [EMAIL PROTECTED] >Sent: 6/15/2004 2:32 PM >Subject: RE: Rendering Images > >Just curious but why not just manually make this file once and return it >when a real image is not found on disk? Why bother creating one on the >fly every time? Is it different from request to request? > >We had done something similar. We created a static image file on disk >and return that when a real one is not available. I think we used a >struts condition if tag testing if a real one exists otherwise use the >URL to not found image. > >-Original Message- >F
RE: [OT] RE: Rendering Images
Render Time - Missing Images #prdNoImg { width: 300px; height: 75px; background-image: url(img/bg.gif); background-repeat: no-repeat; } #prdImg { width: 300px; height: 75px; background-image: url(img/b_search.gif); background-repeat: no-repeat; } You would define the #prdImg's background image at server time through jstl or a scriplet(*boo*). So it would be: background-image: url(); This works because if the background image of #prdImg is not found, the browser just won't render anything, whereas it would normally render a broken image icon. If the image is found, then it will show up over top of #prdNoImg's. You would want to play around with the dimensions too. If you would have any other CSS questions, look at www.w3schools.com Jacob Hookom Senior Analyst/Programmer McKesson Medical-Surgical, Minnesota "don't buy a dog and bark yourself" -Original Message- From: Wendy Smoak [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 15, 2004 5:14 PM To: Struts Users Mailing List Subject: RE: [OT] RE: Rendering Images > From: Hookom, Jacob [mailto:[EMAIL PROTECTED] > Actually, I think you can do this pretty easily with CSS... Here's a thread that might be helpful... http://www.webmasterworld.com/forum91/1871.htm -- Wendy Smoak - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [OT] RE: Rendering Images
Actually, I think you can do this pretty easily with CSS... Do all your images have the same dimensions? -Original Message- From: Wendy Smoak [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 15, 2004 4:34 PM To: Struts Users Mailing List Subject: RE: [OT] RE: Rendering Images > From: mike [mailto:[EMAIL PROTECTED] > I deliver all resources with the following code (you have to > fill in some > details). You can easily see where you can test for the > availablitlity of > the image. Anyway, you can always test with, as I said > before the exists() method of the File class. Except that he said the images live on a different web server, which I took to mean that the file system was not accessible directly, the only way to get to the images is with the URL. The only thing I'm coming up with is a Servlet that would use the URL to read in the bytes of the image, and either send them as the response, or else read in the 'not found' image and send that. It just doesn't seem very efficient, and I think it should be pushed off onto the web server rather than the Servlet container. With a million items, I'm guessing this is not running on a single Tomcat instance... -- Wendy Smoak Application Systems Analyst, Sr. ASU IA Information Resources Management - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Rendering Images
We have the same environment and simply put a filter on the image web app to catch *.jpg, then your main app doesn't have any logic to worry about, or even "pre-fetch" images every time which would be a HUGE waste of resources. -Original Message- From: CRANFORD, CHRIS [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 15, 2004 3:44 PM To: '[EMAIL PROTECTED]' Subject: RE: Rendering Images Ken, That is what I'd like to do. Have an image which is rendered in the case when the defined image cannot be loaded. the problem I have is that our database record says that an image should exist, but the manufacturer/supplier didn't provide it to us... thus I need a way to check if that image does exist to test that condition. thanks, chris ps - these images are maintained by a second webapp that is on a different web server all together due to space requirements. so i have to do testing via a HTTP request or something i would think, no? -Original Message- From: Linck, Ken To: [EMAIL PROTECTED] Sent: 6/15/2004 2:32 PM Subject: RE: Rendering Images Just curious but why not just manually make this file once and return it when a real image is not found on disk? Why bother creating one on the fly every time? Is it different from request to request? We had done something similar. We created a static image file on disk and return that when a real one is not available. I think we used a struts condition if tag testing if a real one exists otherwise use the URL to not found image. -Original Message- From: CRANFORD, CHRIS [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 15, 2004 1:21 PM To: '[EMAIL PROTECTED]' Subject: Rendering Images I'm curious if anyone has used or knows of an open-source image rendering servlet that permits rendering a "no image found" image file if the referenced image to be rendered does not exist on disk. Thanks ___ Chris Cranford Programmer/Developer SETECH Inc. & Companies 6302 Fairview Rd, Suite 201 Charlotte, NC 28210 Phone: (704) 362-9423, Fax: (704) 362-9409, Mobile: (704) 650-1042 Email: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: HTML pages convert to Struts/JSP pages
Since a lot of this stuff matches up between html and struts, you could probably use something like Dreamweaver's search and replace functionality to go through and replace mailto:[EMAIL PROTECTED] Sent: Wednesday, June 09, 2004 11:01 AM To: 'Struts Users Mailing List' Subject: RE: HTML pages convert to Struts/JSP pages In my Struts application I use JSP pages with DynaValidatorForm effectively I used Struts tags html:form, html:radio, bean:message, logic:equal etc.. I would like to use basic html pages (created for an other web application) and convert them to Struts pages in order to have all Struts facilities. -Original Message- From: Rick Reumann [mailto:[EMAIL PROTECTED] Sent: 09 June 2004 17:53 To: Struts Users Mailing List Subject: Re: HTML pages convert to Struts/JSP pages Heligon Sandra wrote: > I would like to shared basic HTML pages with an other web > application > which does not used Struts. > Is it possible to convert HTM pages to Struts views automatically ? > Is it an existing toolkit to do this ? Not sure what you mean by these questions? Are you sure you mean "view" or do you mean "forms"? -- Rick - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [OT] thick client functionality in the browser
I hope you weren't referring to me Simon? I'm still too young... and most of my money pours into recreational vehicles and booze ;-) -Original Message- From: Chappell, Simon P [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 09, 2004 10:02 AM To: Struts Users Mailing List Subject: RE: [OT] thick client functionality in the browser >-Original Message- >From: Hookom, Jacob [mailto:[EMAIL PROTECTED] >in Netscape 7 and Mozilla anyway. If I'm wrong, if you can show me an >example that works in IE, I would name my next child after you :) "next"? You already have some? ;-) Simon - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [OT] thick client functionality in the browser
Look at http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/ref erence/objects.asp Click on one of the tag headings and the properties/attributes are in a table with scrolling... something kinda like you are describing. -Original Message- From: Frank Zammetti [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 09, 2004 9:24 AM To: [EMAIL PROTECTED] Subject: Re: [OT] thick client functionality in the browser I believe the scrolling table body functionality is only currently supported in Netscape 7 and Mozilla anyway. If I'm wrong, if you can show me an example that works in IE, I would name my next child after you :) I've been trying for a while to find a way to have a header section stay put, and there's of course the scripted "jump back to the top when the page scrolls" trick, but you have issues getting the proper column widths then. I know about putting a seciton in the table, but I think IE only honors that when printing, so that a multi-page table will have the headers on each page, but I don't think it matters to on-screen rendering. Am I wrong? Frank >From: Rick Reumann <[EMAIL PROTECTED]> >Reply-To: "Struts Users Mailing List" <[EMAIL PROTECTED]> >To: Struts Users Mailing List <[EMAIL PROTECTED]>, >[EMAIL PROTECTED] >Subject: Re: [OT] thick client functionality in the browser >Date: Wed, 09 Jun 2004 10:06:47 -0400 > >Frank Zammetti wrote: > >>You know what I discovered about a month ago? Instead of using iFrames, >>you can get the same functionality with a with >>style="overflow:scroll;". > >The problem with this, though, is when you when you want your table to be >able to change in width. If you have a fixed width it's fine, but if it's >going to fluctuate and you have select boxes in your table.. when you >scroll up they have a higher z-index than the header row and it bleeds >though.. very ugly and annoying. To get around this you have to do crazy >javascript/css tricks to determine when the row scrolls up into the header >row and then make the select box display none (then you have to remember to >make it visible again).. such a pain. If you used a fixed with table you >can get around this by making two tables with the same column widths.. one >table just to hold the column headers and then the next table scrollable as >you mention. > >PS- if anyone has some javascript/dhtml code already written that will do >the hiding of select boxes as it scrolls into the header row let me know- >I'd like to steal, I mean look at it. > >-- >Rick > >- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] > _ Check out the coupons and bargains on MSN Offers! http://youroffers.msn.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Session size
We've noticed in our enterprise deployments that we aren't utilizing the session enough... so there's no straight rule of thumb. It depends on how many users you have and how much memory/processor. We have the opposite problem where we are scoping too much stuff at the request and refetching it all the time, causing high processor usage and low memory consumption. -Original Message- From: Riyad Kalla [mailto:[EMAIL PROTECTED] Sent: Thursday, May 27, 2004 12:11 PM To: Struts Users Mailing List Subject: Re: Session size On Thursday 27 May 2004 09:53 am, Zhang, Larry (L.) wrote: > It sounds like very promising to me. The only consideration is that caching > those objects may cause another issue of usage of the memory. And also when Yes absolutely a concern, which is where you can tune how big your cache for DAO is. For example, UserRoles might be cheap/small objects, so your cache can be 100 units big, and your Users might be expensive/huge objects, so your cache only holds 20 units... something like that. Doing analysis on the memory requirements is a good idea. Considering that your users (200 of them) takes up 8k, that's nothing to a server with 2Gig of ram... so you could probably increase this to hold a cache of 100s of users. > the tree is changed (by deleting/transferred one employee from the tree) we > need to somehow validate/rebuild the cached list of objects. Hmm yes, if its important to keep the cache as intact as possible, then applying logic during table mutations is important. > > Is this approach sometimes called object pool? Object pooling is more generic. The idea being pooling is to store objects for reuse usually in the pattern of (1) reinitialize/clear object then (2) repopulate and use it (3) return it to the pool. Where in this case we want to create our objects, and then keep them in their same state before reusing them, we aren't really returning them to a 'pool' to be pulled out again and reinitialized. Specifically, when we read in a UserDTO lets say (Data Transfer Object), we want to keep his data untouched (e.g. Name="Bob", Age="32"). After displaying Bob's data, we don't return his object to a pool, we keep it around in a cache, so when someone says "Hey give me Bob's record" we've got it handy without hitting the database again. But yes, caching and pooling are definately in the same family of 'strategies' for program performance. Best, Riyad - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Strategies for Clearing Session Objects
We help keep things clean in the session by putting our controller in the session and using property change / event listeners. It's an idea that's used in game development where you have a SceneManager, and Scenes. The SceneManager will load a new Scene (in our case a module, flow, page, etc), and take care of transitioning between Scenes. So an action may ask the SceneManager to load a new Scene, at the same time, cleaning up the old Scene and allowing it to assert transitional flows. The real problem comes from dumping objects all over in the session, you should try to isolate objects in the session to one entry. Then have supporting methods/filters on your Actions that will scope the variables you need for the UI. public ActionForward startOrder(..) { Controller c = Controller.get(httpSession); OrderingContext ctx = new OrderingContext(); .. setup ctx c.loadContext(ctx); . let exceptions be thrown and caught by handlers } public ActionForward addItemToOrder(..) { Controller c = Controller.get(httpSession); if (c.getContext() instanceof OrderingContext) { User user = c.getCurrentUser(); Account acct = c.getCurrentAccount(); do some processing on orderingcontext } else { throw new OrderNotStartedException(); } } Jacob Hookom Senior Analyst McKesson Medical-Surgical -Original Message- From: Mike Duffy [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 9:05 PM To: [EMAIL PROTECTED] Subject: Strategies for Clearing Session Objects System performance will obviously increase if unnecessary objects are cleared from the session. I'd be interested in the strategies used by members of this list to clear unnecessary objects from the session. I think the most basic solution is not to clutter the session in the first place, but beyond that, please share any specific strategies that you think are useful. Thanks. Mike __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [JSTL] accessing rows by index
So you've tried ${xyz.rows[1]} ? -Original Message- From: Axel Seinsche [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 26, 2004 1:59 PM To: Struts Users Mailing List Subject: [JSTL] accessing rows by index Hi all, in my Struts application I can access result collection from sql:query with the forEach loop. When I try access one single row by index, it fails. Right now I solved this with defining a forEach loop where begin and end are the index I want to access. This looks like this: ... In my opinion there should be an easier way. Can anyone give me a hint or a piece of code how I have to access my rows by index? Thanks, Axel - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Pagination of Query Results Without Getting All Results At On ce
Not unless you want to do something via proxy or a ListAdaptor to your DataSource. Extend AbstractList and override methods to load additional items from a transiently referenced datasource or service that can be looked up. We use this for our application where we have lots of data that we want to show for search results, but our initial selection, we just load a set of primary keys, and depending on the page of items to be shown, we lazy load additional objects from the DB by accessing a Service through a ServiceLocator. Jacob Hookom Senior Analyst/Programmer McKesson Medical-Surgical -Original Message- From: Dhruva B. Reddy [mailto:[EMAIL PROTECTED] Sent: Tuesday, May 25, 2004 4:19 PM To: Struts Users Mailing List Subject: Pagination of Query Results Without Getting All Results At Once I am working on an application with a page that uses pager-taglib to break down query results so that only ten show up on each page. However, as far as I can tell, this tag library assumes that all the query results have been retrieved from the database. I have been tasked with modifying the app so that only the results that are actually displayed are retrieved (i.e., query per page view). I wanted to see if there is an easy way to do this before writing a solution from scratch. Is my assumption that pager-taglib cannot be used correct? Thanks, -d __ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Compressing your struts for faster transfer
FYI http://www.mail-archive.com/[EMAIL PROTECTED]/msg95667.html -Original Message- From: Irfandhy Franciscus [mailto:[EMAIL PROTECTED] Sent: Friday, May 21, 2004 12:03 PM To: [EMAIL PROTECTED] Subject: Compressing your struts for faster transfer Hi, I jsut found out this very neat way of compressing our struts pages using GZIP for faster transfer. Basically we'll use a filter to ZIP our pages. here are some URL for references: http://www.onjava.com/pub/a/onjava/2003/11/19/filters.html?page=2 http://www.servletsuite.com/servlets/gzipflt.htm But if you have downloaded Tomcat, look for compressionFilter java files in Tomcat installation folder (usually inside your Program Files in Windows OS), and use it as a filter. i am experimenting with this technique.. Has anyone tried this before? Please share your experience. Does it really make the loading faster? Or does it actually create more headache. Regards, Irfandhy Franciscus - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: LIL OT sercurityfilter question
If you ONLY need a few pages to be SSL, then you might want to look at the http headers of the incoming request. -Original Message- From: Riyad Kalla [mailto:[EMAIL PROTECTED] Sent: Monday, May 10, 2004 4:14 PM To: Struts Users Mailing List Subject: Re: LIL OT sercurityfilter question Enough to take it into consideration. SSL (encryption) is expensive especially on heavy traffic sites. On Monday 10 May 2004 01:04 pm, Nathan Maves wrote: > How much of a performance loss would this be? > > On May 10, 2004, at 1:53 PM, Hookom, Jacob wrote: > > Configure your server to only accept requests in an SSL port. > > > > -Original Message- > > From: Nathan Maves [mailto:[EMAIL PROTECTED] > > Sent: Monday, May 10, 2004 2:49 PM > > To: Struts Users Mailing List > > Subject: LIL OT sercurityfilter question > > > > I have been using the sercurityfilter by Max Cooper. > > > > I wanted to know the best way to incorporate SSL into the picture. > > What is the best way to ensure that the login page and submission > > action is encrypted? > > > > Nathan > > > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > - > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: LIL OT sercurityfilter question
Configure your server to only accept requests in an SSL port. -Original Message- From: Nathan Maves [mailto:[EMAIL PROTECTED] Sent: Monday, May 10, 2004 2:49 PM To: Struts Users Mailing List Subject: LIL OT sercurityfilter question I have been using the sercurityfilter by Max Cooper. I wanted to know the best way to incorporate SSL into the picture. What is the best way to ensure that the login page and submission action is encrypted? Nathan - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Struts File-Upload performance issue
Yeah, FTP is the way to go here... anyone that would have to deal with 1GB files would have to be intelligent enough to run an FTP client vs. needing to develop a web interface for them. -Original Message- From: Riyad Kalla [mailto:[EMAIL PROTECTED] Sent: Monday, May 10, 2004 11:12 AM To: Struts Users Mailing List Subject: Re: Struts File-Upload performance issue You need to store 1GB files in a database? Yea, so good luck with that ;) On Monday 10 May 2004 08:07 am, Ralf Alt wrote: > Hallo, > > I'm using the struts file upload with Struts Version 1.1. > > If I try to upload big files there is a performance problem. For a file of > 40Mb the upload needs about 20 minutes before the action is executed. I > need the file upload for storing big files > 1Gb in the database. The > storing in the database is very fast, but the "waiting time" is the time > between sending request and entering the Struts action. > > What can I do? > > Thanks > Ralf > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Keeping track of online users
http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/http/HttpSessionListener .html -Original Message- From: Anders Steinlein [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 20, 2004 5:11 PM To: 'Struts Users Mailing List' Subject: Keeping track of online users Hi! This might not be a stricly Struts-related question, but as my application is using Struts and some of you might be interested, I decided to post here. I want to keep track of the number of online users in my application. I know when a user signs in and out, but what about those numerous users who doesn't explicitly sign out (leaving the session hanging until it invalidates)? What is the normal way of dealing with this? I'm running Tomcat 5.0.19 with container managed security (if that matters) and Struts 1.1. Thanks for any input. Regards, Anders Steinlein - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: JSTL vs Struts-el
On our last big project, we only used the struts:html taglib, everything else we decided to use jstl. So our tags were actually then since it was the only struts library we needed. -Original Message- From: Bill Siggelkow [mailto:[EMAIL PROTECTED] Sent: Monday, April 19, 2004 3:53 PM To: [EMAIL PROTECTED] Subject: Re: JSTL vs Struts-el Josh Holtzman wrote: > Would someone be willing to elaborate on why I might want to use Struts-el > rather than JSTL? > Are these alternative technologies, or complimentary? They are complimentary technologies. There is little overlap. struts-el enables Struts tags that do not have JSTL equivalents to be able to understand JSP EL (expression language). - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [FRIDAY] humour
LOL... -Original Message- From: Mark Lowe [mailto:[EMAIL PROTECTED] Sent: Friday, April 02, 2004 11:07 AM To: Struts Users Mailing List Subject: Re: [FRIDAY] humour Thats right have a laugh, but they'll see I'm right.. On 2 Apr 2004, at 18:58, Adam Hardy wrote: > Since it's Friday and I felt in need of a little light relief, I > looked through my collection of old humour-spam and found this, which > is so good I thought you listers would appreciate me sharing it here. > > The story behind the letter below is that there is this nutball who > digs things out of his back yard and sends the stuff he finds to the > Smithsonian Institute, labelling them with scientific names, > insisting that they are actual archaeological finds. This guy really > exists and does this in his spare time! This is the actual response > from the Smithsonian Institution. It is a masterful piece of > diplomacy. Bear this in mind next time you are trying to let someone > down gently. > > > > Smithsonian Institute > 207 Pennsylvania Avenue > Washington, DC 20078 > > Dear Sir: > Thank you for your latest submission to the Institute, labelled > "93211-D, layer seven, next to the clothesline post...Hominid > skull." We have given this specimen a careful and detailed > examination, and regret to inform you that we disagree with your > theory that it represents conclusive proof of the presence of Early > Man in Charleston County two million years ago. > > Rather, it appears that what you have found is the head of a Barbie > doll, of the variety one of our staff, who has small children, > believes to be "Malibu Barbie." It is evident that you have given a > great deal of thought to the analysis of this specimen, and you may > be quite certain that those of us who are familiar with your prior > work in the field were loathe to come to contradiction with your > findings. However, we do feel that there are a number of physical > attributes of the specimen which might have tipped you off to its > modern origin: > > 1. The material is moulded plastic. Ancient hominid remains are > typically fossilised bone. 2. The cranial capacity of the specimen > is approximately 9 cubic centimetres, well below the threshold of > even the earliest identified proto-homonids. 3. The dentition > pattern evident on the skull is more consistent with the common > domesticated dog than it is with the ravenous man-eating Pliocene > Clams you speculate roamed the wetlands during that time. This > latter finding is certainly one of the most intriguing hypotheses > you have submitted in your history with this institution, but the > evidence seems to weigh rather heavily against it. Without going > into too much detail, let us say that: > > A. The specimen looks like the head of a Barbie doll that a dog has > chewed on. B. Clams don't have teeth. > > It is with feelings tinged with melancholy that we must deny your > request to have the specimen carbon dated. This is partially due to > the heavy load our lab must bear in its normal operation, and partly > due to carbon dating's notorious inaccuracy in fossils of recent > geologic record. To the best of our knowledge, no Barbie dolls were > produced prior to 1956 AD, and carbon dating is likely to produce > wildly inaccurate results. > > Sadly, we must also deny your request that we approach the National > Science Foundation Phylogeny Department with the concept of > assigning your specimen the scientific name Australopithecus > spiff-arino. Speaking personally, I, for one, fought tenaciously for > the acceptance of your proposed taxonomy, but was ultimately voted > down because the species name you selected was hyphenated, and > didn't really sound like it might be Latin. However, we gladly > accept your generous donation of this fascinating specimen to the > museum. While it is undoubtedly not a Hominid fossil, it is, > nonetheless, yet another riveting example of the great body of work > you seem to accumulate here so effortlessly. You should know that > our Director has reserved a special shelf in his own office for the > display of the specimens you have previously submitted to the > Institution, and the entire staff speculates daily on what you will > happen upon next in your digs at the site you have discovered in > your back yard. > > We eagerly anticipate your trip to our nation's capital that you > proposed in your last letter, and several of us are pressing the > Director to pay for it. We are particularly interested in hearing > you expand on your theories surrounding the trans-positating > fillifitation of ferrous ions in a structural matrix that makes the > excellent juvenile Tyrannosaurus rex femur you recently discovered > take on the deceptive appearance of a rusty 9-mm Sears Craftsman > automotive crescent wrench. > > Yours in Science, > Harvey Rowe > Curator, Antiquities > > > - > To unsubscribe, e-mail: [EMAIL PROTECT
RE: Anyone using Weblogic Page Flows
A guy from BEA had posted on here about a week ago with a link to open sourced page flows. I tried to get the sample up and running without any success, of course if you run Weblogic, then you learn not to trust any implementation/code BEA spits out... Bitter, Jacob Hookom -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Friday, April 02, 2004 10:27 AM To: Struts Users Mailing List Subject: Anyone using Weblogic Page Flows Is anyone useing BEA Weblogics Java Page Flows and if so what type of success have you had? I may be force to convert an application based on struts 1.1 to use Weblogics pageflows and I am interested in any results that someone may have had. Thanks in advanced Walter Tennison - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [OT] request object w/ response.sendRedirect
Maybe you need to use a Database to store this data temporarily, something all apps can access. Server A updates DB, Server B reads DB or reads data provided from Server A in CSV, XML format. -Original Message- From: Larry Meadors [mailto:[EMAIL PROTECTED] Sent: Monday, March 29, 2004 3:21 PM To: [EMAIL PROTECTED] Subject: Re: [OT] request object w/ response.sendRedirect But from an earlier message, the request may be going to a different server - potentially even a non-java one. >>> [EMAIL PROTECTED] 03/29/04 2:15 PM >>> Bill Siggelkow wrote: > Hmm ... well, the actual new request is generated by the browser when > it processes the "redirect" response. You should be able to add > parameters to the query string, however. > Or, you can store the data you need later in the session. Craig - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[OT] RE: best practice question for certain VO/DTO fields?
This has been discussed lots before; I usually opt for ViewObjects that match what is needed for rendering. It makes it really easy to make modifications in the controller as to how the data is pulled while keeping the view unchanged. EmployeeView.getName() EmployeeView.getDepartmentName() EmployeeView.getDepartmentId() . Then your action can initially do whatever you want for proper OO with a domain model or whatever, but if you need to refactor later, you can have that EmployeeView be generated straight from a ResultSet. -Original Message- From: Rick Reumann [mailto:[EMAIL PROTECTED] Sent: Monday, March 29, 2004 10:23 AM To: Struts Users Mailing List Subject: best practice question for certain VO/DTO fields? Curious about the different ways you guys handle this.. For simplicity, imagine you are needing to return a List of Employee objects. Each Employee belongs to a department. What I debate about is how to handle the creation of the Employee Value Object in relation to "department." From a business perspective I really only need to worry about an int or Integer representing "departmentID", yet for display purposes I'll often need to display "dpeartmentName." There seems to be several ways to handle this... 1) Store a Department object (id, name) as a field inside of Employee. This is nice from an OO perpsective, but can be a bit more difficult to handle depending on the persistence mechanism of choice. I tend to think this approach can create a bit of unnecessary overhead. 2) Simply store another field in EmployeeVO as String departmentName. I seem to end up doing this because it's simple, but it just doesn't 'feel' right. The EmployeeVO only really needs to know what departmentID it should have. The departmentName is only important for display purposes. 3) Provide some way for your display to figure out the departmentName based on a given departmentId (JSP tag, map lookup, whatever). I don't really like this approach because if the values can change (in this case Departments), it requires a db lookup any time you want to get a departmentName (unless you create some guaranteed way to have a cache updated). Plus this is only an example and it's just one field, but potentially your application can have a bunch of similiar things to deal with - do you really want to have to create a bunch of tags or maps to deal with this? 4) Return a List of Department objects and in each of those pull out a List of Employees. Awkward to work with (some gymnastics to get a complete employees display back ordered correctly). Also department could contain tons of fields other than List or Collection of Employees. Do we really want a whole bunch of Department objects back just to get our employees? This also a potential problem in option 1 above as well. Even if all the fields of Department aren't populated, it still seems ugly having this big object as part of an Employee. Thanks for ideas on how you guys handle this. -- Rick - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]