+1 You could still create common elements to both pages which will help maintain a look and feel and reuse existing code, look at using different tile layouts for each user type but the elements in the page are common jsp/tile definitions. If the spec for one user changes then you could simply just copy the tile fragment that was changing to a new location and work on it, then change the tile definition for that user to point to the updated fragement. You would still maintain a majority of common code and in the long run even if both user views totally change you can deal with it as and when the changes happen by copying and altering each tile fragment that is changing and updating the tile definition to point to the new fragment.
Chris McCormack -----Original Message----- From: Freddy Villalba A. [mailto:[EMAIL PROTECTED] Sent: 15 October 2004 11:54 To: Struts Users Mailing List Subject: RE: Exposing ActionForm and MVC fields Hi, I'd go for approach #2. After all, they are different VIEWS of the same Model. I've faced this situation in a couple of projects before, and in both cases buyer's and seller's views differed in the long run. The more complex your business rules / model gets, the higher is the chance for that happening. It may seem the right way to go at first (specially if the differences are insignificant), but after a few meetings with the corporate managers, you'll realize it was not such a smart move after all! :P My humble oppinion, Freddy. -----Mensaje original----- De: Leandro Melo [mailto:[EMAIL PROTECTED] Enviado el: viernes, 15 de octubre de 2004 3:30 Para: struts jakarta Asunto: Exposing ActionForm and MVC fields Hi, i'd like to hear some opinions. I got a b2b application. I'm facing a desing problem. This problems is associated basically to 2 themes: - MVC - Exposing AcfionForm fields. I got a page where the BUYER fills a form to buy an specific item. The steps are very simple. 1 - He sends a request for a quotation. 2 - After the quotation, he sends a request for an order. The point is... When the SELLER goes to make the quotation he's supposed to see a very similar page to the one the BUYER filled the information. This is obvious as the information is the same for both parts. So, should i implement the page for the SELLER: ======>>>>>>> APPROACH 1 - using the same exact page as the BUYER for the SELLER. Then i'd make the fields the BUYER filled disabled (or just make them labels) using some kind o scriptlet like this. <input .... <%= sellerVisibility %> .../> , where sellerVisibility would be something = "disabled=true" This approach seems nice to but i'd say that it's just not that cool!!! It doesn't look nice from an MVC point of view. I'll take the risk of having a lot of this kind of scripts in pages as the times goes by. I know that the Action (control layer) is actually responsible for setting the "sellerVisibility", what means that it's also not that bad from the MVC point of view. But any way, the major problem with this approah is that i use BeanUtils to copy data from the ActionForms to the VOs and vice-versa. So even with the fields disabled, i would take the risk of some smart guy cheatting and setting via javascript the fields he's not supposed to set. And as i copy the data with BeanUtils, my data will be changed when it's not supposed to do so. ========>>>>> APPROACH 2 - just create another page for the BUYER. This page would look exactly the same for the BUYER and the SELLER, but they'll be different pages. This way, i can build this other very similar page without exposing my ActionForma attributes. This approach seems to me allright from the MVC point of view. But the problem of this approach is that i'd start building some kind of redundant and duplicated code. Any opinions...???? Leandro. _______________________________________________________ Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! http://br.acesso.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] *********************************************** This e-mail and its attachments are confidential and are intended for the above named recipient only. If this has come to you in error, please notify the sender immediately and delete this e-mail from your system. You must take no action based on this, nor must you copy or disclose it or any part of its contents to any person or organisation. Statements and opinions contained in this email may not necessarily represent those of Littlewoods. Please note that e-mail communications may be monitored. The registered office of Littlewoods Limited and its subsidiaries is 100 Old Hall Street, Liverpool, L70 1AB. Registered number of Littlewoods Limited is 262152. ************************************************ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]