Date: 2004-04-13T22:44:25 Editor: 195.127.68.50 <> Wiki: Apache Struts Wiki Page: StrutsCatalogVariableScreenFields URL: http://wiki.apache.org/struts/StrutsCatalogVariableScreenFields
no comment Change Log: ------------------------------------------------------------------------------ @@ -1,20 +1,20 @@ It is a quite common that you come across a screen whose common requirement is to layout a part or whole of the screen dynamically based on the runtime decisions made by the user. A typical example is of screen used for submission of report process. Screen for such a functionality is made of two blocks, in the first block user inputs report process name and presses a “Search” button on the basis of report name specified a list of arguments appears in the lower block, against which the user is supposed to provide values. -In general against every field in JSP, { { { ActionForm } } } bean has to have a pair of accessor and mutator methods (getter and setter methods). In this scenario since the number of fields varies there could be a problem if some fields does not have a corresponding accessor and mutator method. +In general against every field in JSP, {{{ ActionForm }}} bean has to have a pair of accessor and mutator methods (getter and setter methods). In this scenario since the number of fields varies there could be a problem if some fields does not have a corresponding accessor and mutator method. Best practices There are three possible solutions to this problem 1. Name all the fields in specific pattern like field1, field2, field3 etc and provide their accessor and mutator methods in the FormBean. In this approach there is a maximum limit on number of fields that can appear on screen. - 1. The purpose of { { { FormBean } } } is to reduce the overhead of doing getParameter () in the Servlet. We always have the option of not using a { { { FormBean } } } and doing the getParameter in Action class. + 1. The purpose of {{{ FormBean }}} is to reduce the overhead of doing getParameter () in the Servlet. We always have the option of not using a {{{ FormBean }}} and doing the getParameter in Action class. 1. Third option is to utilize the setProperty ()/getProperty () methods provided by Struts especially for this type of problem. In case we have a small and fixed number of fields on screen, it is not a bad idea to go for the first approach described above, but in general it has been found that the last approach is the best one. -To use this, define two methods in your { { { ActionForm } } } bean class. These methods may in turn be written to store the values into a { { { HashMap } } }. Populate all the required fields in the form Action Class or any Helper class. +To use this, define two methods in your {{{ ActionForm }}} bean class. These methods may in turn be written to store the values into a {{{ HashMap }}}. Populate all the required fields in the form Action Class or any Helper class. {{{ public class testVarForm extends ActionForm { -{{{ private HashMap hMap = new HashMap(); + private HashMap hMap = new HashMap(); public testVarForm() { } @@ -32,7 +32,7 @@ public void setHashMap(HashMap newHMap) { this.hMap =newHMap; - } }}} + } } }}} --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]