I have developed some new tags for dbforms as part of a project.
I am submitting a description here for feedback before adding them to the
code base.

Usage:
isError  -   execute the body if there is an error ( if value='false', then
execute body is NO error )
redirectURL  - generates a redirect to a DbForms View. Setting the
positionattribute will 
          force DbForms to navigate to this position within the
destination-table

Example:
<db:isError value="false">
  <db:isWebEvent event="insert" value="true" >
        <db:redirectURL href="/instructor_one.jsp" tableName="instructor">
            <db:position fieldName ="instructor_id"
value="${InstructorName.instructor_id}"/>
        </db:redirectURL>"
  </db:isWebEvent>
</db:isError>

=============

CustomFormatter, allows you register a class that will used to format a
field for output. Usuful for displaying id numbers and such
That are stored as numbers but need to be displayed specially. 
Class ICustomFormatter
public interface ICustomFormatter {
        public String format(String s, Field f, Tag tag);
        public void init(Object arg);
        public void setReset(boolean b);
        public boolean getReset();      
}

Usage:
setCustomFormatter  - register a customFormatter class for later use
new attribute x added to DbBaseHandlerTag (parent of label,etc..)


Example
<db:setCustomFormatter name="ostid"
className="com.nechsi.santipol.interceptors.IDCustomFormatter"
  arg="###-####" /> 
<db:label customFormatter="ostid" fieldName="old_student_code"/>




====
<tag>
<name>redirectURL</name>
<tag-class>org.dbforms.taglib.DbRedirectURLTag</tag-class>
<body-content>JSP</body-content>
<description>generates a link to a DbForms View</description>
<attribute>
<name>href</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<description>the url of the JSP file representing the view</description>
</attribute>
<attribute>
<name>tableName</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<description>
                                                the url of the table the
view represents
                                        </description>
</attribute>
<attribute>
<name>position</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>
            optional: the position to navigate to within table "tableName"
                for backwards compatibility is the same as
destPos!</description>
</attribute>
<attribute>
<name>parentField</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>
              used if parentTable is different to tableName: 
              field(s) in the main form that is/are linked to this form
            </description>
</attribute>
<attribute>
<name>childField</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>
              used if parentTable is different to tableName:
              field(s) in this form that is/are linked to the parent form
             </description>
</attribute>
<attribute>
<name>destPos</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description> 
            a value indicating the row to navigate to.
            Position strings are used as request parameters 
            allowing the framework to keep track 
                  of the position the user comes from or goes to.  This
string is 
            structured as follows:
            fieldId : fieldValueLength : fieldValueIt is important to note
that if multiple keys exist in the definition 
                     of the table, your position string must includes values
for each 
                           key. (separated by dashes (-))
                        Example:&lt;! Jump to another JSP, specify position
using multiple keys--&gt;
                           &lt;db:gotoButton caption="View Sample Details"
                           destination="/viewSample.jsp"
                           destTable="Sample"
destPos="1:6:widget-3:2:23"/&gt;
                        </description>
</attribute>
<attribute>
<name>keyToDestPos</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>
            a key indicating the row to navigate to. 
             Example:
                                                   &lt;! Jump to another
JSP, specify position through a key --&gt;
                        &lt;db:gotoButton  
                                                caption="View Sample
Details"  
 
destination="/viewSample.jsp"
                        destTable="Sample" 
                        keyToDestPos="[EMAIL PROTECTED]"/&gt;
                             </description>
</attribute>
<attribute>
<name>keyToKeyToDestPos</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>
            a key to the key indicating the row to navigate to. 
            For each record in the result-set, 
            the associatedRadio  tag generates a key reference 
                        which can be used to retrieve a position string.
                       Example:&lt;!for each record, generate a key to the
position string --&gt;
                     &lt;db:body&gt;&lt;db:associatedRadio
name="test"/&gt;&lt;/db:body&gt;
                           &lt;db:footer&gt;
                                                   &lt;! Jump to another
JSP, specify position 
                                                   (get second record using
appropriate key!)--&gt;
                        &lt;db:gotoButton  
                                                caption="View Sample
Details"  
 
destination="/viewSample.jsp"
                        destTable="Sample" 
                        keyToKeyDestPos="test"/&gt;
                        Check "customerlist.jsp" in example!
                     </description>
</attribute>
<attribute>
<name>singleRow</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>
                                                if set to true, only one row
of data will be fetched.
                                                default is false, so that
all rows of data will be fetched and 
                                                the requested record will be
set as actual record.
                                        </description>
</attribute>
<example>generates a redirect to a DbForms View. Setting the
positionattribute will 
          force DbForms to navigate to this position within the
destination-table
          the 3 examles below produce all the same result&lt;redirectURL
href="customer.jsp" tableName="customer"
position="103~2"/&gt;&lt;redirectURL href="customer.jsp"
tableName="customer" position="&lt;%= currentKey %&gt;"/&gt;&lt;redirectURL
href="customer.jsp" tableName="customer"&gt;
            &lt;position field="id" value="103"/&gt;
            &lt;position field="cust_lang" value="2"/&gt;
          &lt;/redirectURL&gt;
          </example>
</tag>


<tag>
<name>isError</name>
<tag-class>org.dbforms.taglib.IsErrorTag</tag-class>
<body-content>jsp</body-content>
<description>
                Allows a developer to detect if an error has been reported.
</description>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>the name that should be used for retrieving the error-data from
the session. Default = "errors"</description>
</attribute>
<attribute>
<name>value</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>Condition in which to evaluate body. Default is set to
true.</description>
</attribute>
</tag>
<tag>
<name>setCustomFormatter</name>
<tag-class>org.dbforms.taglib.SetCustomFormatterTag</tag-class>
<body-content>JSP</body-content>
<description>Register a Custom Formatter for later use</description>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<description>name to use, other tags will use this as the value for the
customFormatter attribute</description>
</attribute>
<attribute>
<name>className</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<description>FQ ClassName to load</description>
</attribute>
<attribute>
<name>arg</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description> optional: arg passed to instance</description>
</attribute>
<attribute>
<name>reset</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
<description>set false to prevent multiple re-initializations.default
false</description>
</attribute>
<example>
&lt;db:setCustomFormatter name="stid"
className="com.nechsi.santipol.interceptors.IDCustomFormatter"
  arg="####-####-####-####" /&gt;
&lt;db:setCustomFormatter name="ostid"
className="com.nechsi.santipol.interceptors.IDCustomFormatter"
  arg="###-####" /&gt;
</example>
</tag>



-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=4721&alloc_id=10040&op=click
_______________________________________________
DbForms Mailing List

http://www.wap-force.net/dbforms

Reply via email to