Nested DataTables/Group DataTables

A datatable with a group by. It uses only one datasource with a join, but may only have one group.

Example Click to expand all Click to contract all Explanation
Click to contract News List and Detail An example of a web page that lists news articles retrieved from a database table.
  example1/NewsDetail.jsp A page that shows the detail on one article.
  example1/NewsList.jsp A page that lists news articles.
Click to contract JSP Custom Tag Example An example of encapsulating complex presentation functionality into a custom tag. This example demonstrates a custom tag that allows the user to select tables and columns from the database.
  com/salmonllc/examples/example2/DBSelector.java A encapsulated Html Component that creates the GUI for the selector.
  com/salmonllc/examples/example2/DBSelectorTag.java A custom tag handler that exposes the component so it can be used in a JSP page.
  example2/DBSelector.jsp A page that contains the custom tag.
  WEB-INF/example.tld A file describing the custom tags in your library (required by the J2EE spec).
  WEB-INF/web.xml The web.xml file for your application requires an entry for each tag library. Take a look at the bottom of the file for the description of the tld above.
Click to contract Interactive SQL Example Uses the custom tag from the previous example to create an Interactive SQL Page that allows the user to browse data in the database.
  com/salmonllc/examples/example3/InteractiveSQLController.java The controller that dynamically builds a model and the dynamic portion of the view.
  example3/InteractiveSQL.jsp The static portion of the view. The rest is created in the controller.
Click to contract Calendar Example Displays an HTML rendition of a calendar. This is useful for applications where a date needs to be selected.
  com/salmonllc/examples/example4/CalendarController.java The controller Java class for this example.
  example4/Calendar.jsp The view JSP for this example.
Click to contract Tree Example Loads the data for a tree control from a database table using a system generated model object.
  com/salmonllc/examples/example5/ProductCategoryModel.java A model obect, generated by the IDETool utility and extended with some additional hand done code. The additional code automatically populates a tree with the data in the model.
  com/salmonllc/examples/example5/TreeController.java The controller object for this example.
  example5/Tree.jsp The view JSP for this example.
Click to contract Search the Product Category Description Presents the user with a search form that finds information in the product_category table. This example reuses the model created in the previous example.
  com/salmonllc/examples/example5/ProductCategoryModel.java The reused model from the previous example.
  com/salmonllc/examples/example6/ProductSearchController.java The controller Java class for this example.
  example6/ProductSearch.jsp The view JSP for this example.
Click to contract Navigation Bar Example Presents the user with a navigation bar built from information in the examples and source_code tables. It provides an example of an alternate means of navigating this application.
  com/salmonllc/examples/example7/ExamplesModel.java A model object (mostly generated from the IDETool Utility) that gets the data to populate the nav bar.
  com/salmonllc/examples/example7/NavigationBarController.java The controller Java class for this example.
  example7/NavigationBar.jsp The view JSP for this example.
Click to contract List/Detail Data Entry Lets the user edit the contacts table using a list and detail page.
  com/salmonllc/examples/example8/ContactDetailController.java The controller object for the detail page.
  com/salmonllc/examples/example8/ContactListController.java The controller object for the list page.
  com/salmonllc/examples/example8/ContactModel.java The model object that both pages use.
  com/salmonllc/examples/example8/ContactValidator.java The validator component that validates the contact detail form.
  com/salmonllc/examples/example8/EMailValidation.java An encapsulated validation expression for an email address.
  com/salmonllc/examples/example8/PhoneValidation.java An encapsulated validation expression for a phone number.
  example8/ContactDetail.jsp The view JSP for the detail page.
  example8/ContactList.jsp The view JSP for the list page.
Click to contract Internationalization Example Demonstrates the use of internationalization attributes on certain components in the framework that allow them to select a new language based on the browser language preferences.
  example10/Inter.jsp The view JSP for this example.
Click to contract Build the GUI in Java Demonstrates the ability to dynamically add components to the GUI using Java at runtime.
  com/salmonllc/examples/example11/GUIController.java The controller for this example.
  example11/GUICode.jsp The view JSP for this example.
Click to contract Using Direct JDBC Demonstrates the use of the SOFIA connection pool to execute direct JDBC/SQL against a database.
  com/salmonllc/examples/example12/JDBCExampleController.java The controller for this example.
  example12/JDBCExample.jsp The view JSP for this example.
Click to contract Using Beans to get the Data Demonstrates the use of the BeanDataStore component which can be used to get data from EJB value objects.
  com/salmonllc/examples/example13/BeanController.java The controller for this example.
  com/salmonllc/examples/example13/ExampleBean.java An example bean.
  example13/BeanExample.jsp The view JSP for this example.
Click to contract List Only Data Entry Lets the user edit the contacts table using a single list screen. This example reuses the model and validator from the List/Detail data entry example
  com/salmonllc/examples/example14/ListDataEntryController.java The controller object.
  com/salmonllc/examples/example8/ContactModel.java The model object from the list/detail data entry example.
  com/salmonllc/examples/example8/ContactValidator.java The validator component from the list/detail data entry example.
  example14/ListDataEntry.jsp The view JSP.
Click to contract Rich Client Data Entry A Data Entry screen that demonstrates SOFIA/Swing/Applet integration.
  com/salmonllc/examples/example15/BlueTheme.java A Swing Metal Look and Feel Color Scheme.
  com/salmonllc/examples/example15/ButtonPanel.java A Swing panel that contains a button bar.
  com/salmonllc/examples/example15/DataEntryApplet.java The Applet Container for the entry screen.
  com/salmonllc/examples/example15/DataEntryApplication.java The Application container for the entry screen.
  com/salmonllc/examples/example15/DetailPanel.java A Swing panel that holds the detail data entry form.
  com/salmonllc/examples/example15/GreenTheme.java A Swing Metal Look and Feel Color Scheme.
  com/salmonllc/examples/example15/ListPanel.java A Swing panel that holds the search list.
  com/salmonllc/examples/example15/MainPanel.java A Swing panel that holds all the other panels in the data entry screen. The main panel can be hosted in either an applet or java application container.
  com/salmonllc/examples/example15/RedTheme.java A Swing Metal Look and Feel Color Scheme.
  example15/DataEntryApplet.jsp The JSP page that serves data entry screen as an applet in the browser window.
  example15/DataEntryApplication.jsp A JSP page that serves the data entry screen as a Java Web Start application.
Click to contract Personalization Example An example of selecting and applying a skin to the application.
  com/salmonllc/examples/example16/CustomizeSkinController.java The base controller for the skin editors.
  com/salmonllc/examples/example16/CustomizeSwingSkinController.java A controller that sets up the Swing Skin Editor.
  com/salmonllc/examples/example16/CustomizeWebSkinController.java A controller that sets up the Web Skin Editor.
  com/salmonllc/examples/example16/PersonalizationController.java The controller that applies the skin to the pages in the application.
  example16/CustomizeSwingSkin.jsp The JSP view that allows the user to customize attributes for a Swing skin.
  example16/CustomizeWebSkin.jsp The JSP view that allows the user to customize attributes for a Web skin.
  example16/Personalization.jsp The JSP view that presents the user interface for the example.
Click to contract Jasper Reports Integration An example of a Jasper Report running from a SOFIA model and the SOFIA Jasper Report Viewer Applet/Java Web Start Application.
  com/salmonllc/examples/example17/ContactModel.java The SOFIA model used to provide data for the report.
  com/salmonllc/examples/example17/ReportAppletController.java The SOFIA controller for the applet view page.
  com/salmonllc/examples/example17/ReportParameterConstants.java An interface of constants that are the names of parameters passed to the viewer applet. This is a copy of com.salmonllc.jasperReports.ReportParameterConstants.java and is only here so the example will compile whether or not the Salmon Jasper packages are
  com/salmonllc/examples/example17/ReportSelectionController.java The SOFIA controller for the selection criteria screen.
  example17/ReportApplet.jsp The JSP view that presents the user with the report as an applet.
  example17/ReportApplication.jsp The XML file created as a JSP that serves up the report as a Java Web Start Application.
  example17/reportDefinition/ContactReportDef.xml The XML file definition for the Jasper Report.
  example17/ReportSelections.jsp The JSP view that presents the user with a selection screen for the report.

A nested datatable. It uses multiple datasources and has to do a retrieve (SQL select) for each grouping, but can go n-levels deep and there is more control of the layout.

Example  Click to expand all Click to contract all Explanation
Click to contract News List and Detail An example of a web page that lists news articles retrieved from a database table.
  example1/NewsDetail.jsp A page that shows the detail on one article.
  example1/NewsList.jsp A page that lists news articles.
Click to contract JSP Custom Tag Example An example of encapsulating complex presentation functionality into a custom tag. This example demonstrates a custom tag that allows the user to select tables and columns from the database.
  com/salmonllc/examples/example2/DBSelector.java A encapsulated Html Component that creates the GUI for the selector.
  com/salmonllc/examples/example2/DBSelectorTag.java A custom tag handler that exposes the component so it can be used in a JSP page.
  example2/DBSelector.jsp A page that contains the custom tag.
  WEB-INF/example.tld A file describing the custom tags in your library (required by the J2EE spec).
  WEB-INF/web.xml The web.xml file for your application requires an entry for each tag library. Take a look at the bottom of the file for the description of the tld above.
Click to contract Interactive SQL Example Uses the custom tag from the previous example to create an Interactive SQL Page that allows the user to browse data in the database.
  com/salmonllc/examples/example3/InteractiveSQLController.java The controller that dynamically builds a model and the dynamic portion of the view.
  example3/InteractiveSQL.jsp The static portion of the view. The rest is created in the controller.
Click to contract Calendar Example Displays an HTML rendition of a calendar. This is useful for applications where a date needs to be selected.
  com/salmonllc/examples/example4/CalendarController.java The controller Java class for this example.
  example4/Calendar.jsp The view JSP for this example.
Click to contract Tree Example Loads the data for a tree control from a database table using a system generated model object.
  com/salmonllc/examples/example5/ProductCategoryModel.java A model obect, generated by the IDETool utility and extended with some additional hand done code. The additional code automatically populates a tree with the data in the model.
  com/salmonllc/examples/example5/TreeController.java The controller object for this example.
  example5/Tree.jsp The view JSP for this example.
Click to contract Search the Product Category Description Presents the user with a search form that finds information in the product_category table. This example reuses the model created in the previous example.
  com/salmonllc/examples/example5/ProductCategoryModel.java The reused model from the previous example.
  com/salmonllc/examples/example6/ProductSearchController.java The controller Java class for this example.
  example6/ProductSearch.jsp The view JSP for this example.
Click to contract Navigation Bar Example Presents the user with a navigation bar built from information in the examples and source_code tables. It provides an example of an alternate means of navigating this application.
  com/salmonllc/examples/example7/ExamplesModel.java A model object (mostly generated from the IDETool Utility) that gets the data to populate the nav bar.
  com/salmonllc/examples/example7/NavigationBarController.java The controller Java class for this example.
  example7/NavigationBar.jsp The view JSP for this example.
Click to contract List/Detail Data Entry Lets the user edit the contacts table using a list and detail page.
  com/salmonllc/examples/example8/ContactDetailController.java The controller object for the detail page.
  com/salmonllc/examples/example8/ContactListController.java The controller object for the list page.
  com/salmonllc/examples/example8/ContactModel.java The model object that both pages use.
  com/salmonllc/examples/example8/ContactValidator.java The validator component that validates the contact detail form.
  com/salmonllc/examples/example8/EMailValidation.java An encapsulated validation expression for an email address.
  com/salmonllc/examples/example8/PhoneValidation.java An encapsulated validation expression for a phone number.
  example8/ContactDetail.jsp The view JSP for the detail page.
  example8/ContactList.jsp The view JSP for the list page.
Click to contract Internationalization Example Demonstrates the use of internationalization attributes on certain components in the framework that allow them to select a new language based on the browser language preferences.
  example10/Inter.jsp The view JSP for this example.
Click to contract Build the GUI in Java Demonstrates the ability to dynamically add components to the GUI using Java at runtime.
  com/salmonllc/examples/example11/GUIController.java The controller for this example.
  example11/GUICode.jsp The view JSP for this example.
Click to contract Using Direct JDBC Demonstrates the use of the SOFIA connection pool to execute direct JDBC/SQL against a database.
  com/salmonllc/examples/example12/JDBCExampleController.java The controller for this example.
  example12/JDBCExample.jsp The view JSP for this example.
Click to contract Using Beans to get the Data Demonstrates the use of the BeanDataStore component which can be used to get data from EJB value objects.
  com/salmonllc/examples/example13/BeanController.java The controller for this example.
  com/salmonllc/examples/example13/ExampleBean.java An example bean.
  example13/BeanExample.jsp The view JSP for this example.
Click to contract List Only Data Entry Lets the user edit the contacts table using a single list screen. This example reuses the model and validator from the List/Detail data entry example
  com/salmonllc/examples/example14/ListDataEntryController.java The controller object.
  com/salmonllc/examples/example8/ContactModel.java The model object from the list/detail data entry example.
  com/salmonllc/examples/example8/ContactValidator.java The validator component from the list/detail data entry example.
  example14/ListDataEntry.jsp The view JSP.
Click to contract Rich Client Data Entry A Data Entry screen that demonstrates SOFIA/Swing/Applet integration.
  com/salmonllc/examples/example15/BlueTheme.java A Swing Metal Look and Feel Color Scheme.
  com/salmonllc/examples/example15/ButtonPanel.java A Swing panel that contains a button bar.
  com/salmonllc/examples/example15/DataEntryApplet.java The Applet Container for the entry screen.
  com/salmonllc/examples/example15/DataEntryApplication.java The Application container for the entry screen.
  com/salmonllc/examples/example15/DetailPanel.java A Swing panel that holds the detail data entry form.
  com/salmonllc/examples/example15/GreenTheme.java A Swing Metal Look and Feel Color Scheme.
  com/salmonllc/examples/example15/ListPanel.java A Swing panel that holds the search list.
  com/salmonllc/examples/example15/MainPanel.java A Swing panel that holds all the other panels in the data entry screen. The main panel can be hosted in either an applet or java application container.
  com/salmonllc/examples/example15/RedTheme.java A Swing Metal Look and Feel Color Scheme.
  example15/DataEntryApplet.jsp The JSP page that serves data entry screen as an applet in the browser window.
  example15/DataEntryApplication.jsp A JSP page that serves the data entry screen as a Java Web Start application.
Click to contract Personalization Example An example of selecting and applying a skin to the application.
  com/salmonllc/examples/example16/CustomizeSkinController.java The base controller for the skin editors.
  com/salmonllc/examples/example16/CustomizeSwingSkinController.java A controller that sets up the Swing Skin Editor.
  com/salmonllc/examples/example16/CustomizeWebSkinController.java A controller that sets up the Web Skin Editor.
  com/salmonllc/examples/example16/PersonalizationController.java The controller that applies the skin to the pages in the application.
  example16/CustomizeSwingSkin.jsp The JSP view that allows the user to customize attributes for a Swing skin.
  example16/CustomizeWebSkin.jsp The JSP view that allows the user to customize attributes for a Web skin.
  example16/Personalization.jsp The JSP view that presents the user interface for the example.
Click to contract Jasper Reports Integration An example of a Jasper Report running from a SOFIA model and the SOFIA Jasper Report Viewer Applet/Java Web Start Application.
  com/salmonllc/examples/example17/ContactModel.java The SOFIA model used to provide data for the report.
  com/salmonllc/examples/example17/ReportAppletController.java The SOFIA controller for the applet view page.
  com/salmonllc/examples/example17/ReportParameterConstants.java An interface of constants that are the names of parameters passed to the viewer applet. This is a copy of com.salmonllc.jasperReports.ReportParameterConstants.java and is only here so the example will compile whether or not the Salmon Jasper packages are
  com/salmonllc/examples/example17/ReportSelectionController.java The SOFIA controller for the selection criteria screen.
  example17/ReportApplet.jsp The JSP view that presents the user with the report as an applet.
  example17/ReportApplication.jsp The XML file created as a JSP that serves up the report as a Java Web Start Application.
  example17/reportDefinition/ContactReportDef.xml The XML file definition for the Jasper Report.
  example17/ReportSelections.jsp The JSP view that presents the user with a selection screen for the report.


Return to Home Page
View Source Code