|
just another regularban.info web blog |
| MEMBERS: | Passing Parameters In A Data Table Using JSF
Some working knowledge of J2EE or JSF is assumed for this article. Like some of you I've been frustrated with this technology known as JSF or Java Server Faces. There are several different flavors out there that are built on the shoulders of JSF. For instance Oracle's ADF (Application Development Framework). Oracle ADF Faces Components is a set of over a 100 JSF components that let you build a richer user interface for your Java EE applications. Oracle ADF Faces also includes many of the framework features most needed by JSF developers today. That is great, and in many ways it will make life easier to develop in a JSF environment. Some items you will find available in these "add on" packages have a real benefit. For instance, as of the date of this article, I was very surprised that a File Upload is a feature still not implemented in JSF in respect to using natural jsf tags. There are ways to accomplish this task in JSF but they are not native JSF approaches. The process is a "no brainer" in just about every other framework available today, including asp.net. Another simple task (I thought) was having a data table present the results of a query in an editable format. Possibly to update a user record or shopping cart. After working in other technologies it was very efficient to return a result set to a data table object and let that object take care of some of the trivial behaviors and characteristics of the table itself. When I started exploring JSF I was frequently and at every turn becoming more and more frustrated in trying to duplicate some of the most basic of processes similar to managing records through data tables. There are not a whole lot of resources out there yet on JSF although it is growing steadily, and I found that all too often the resources that I was finding on the internet either didn't apply to the more simple tasks or the information was just completely wrong. One example of that was that it was stated in one article I read that you cannot use command buttons inside of a JSF data table. The recommendation was to use JSF hyperlinks instead when trying to perform an action from a data table due to a bug in the framework that prevented command button actions to fire if the button resided inside of a data table. At first I thought "you've got to be kidding me"! Then I remembered that I've been finding a fair amount of "bogus" information in regards to JSF development so I decided to do further research and discovered that information to be less than accurate as well. I simply had to find a way to populate a data table through a result set and get a command button to fire an action and pass all of the data in the data table to the backing bean to update the record. Multiple command buttons would exist as well as hidden fields pertaining to id numbers and so forth. Pretty basic stuff and we've all done it before with relative ease. It turned out that the solution was in fact a simple one. "Binding". You've heard about it and read about it. But this approach was something a little different as far as I could find. Many of the blogs and articles that I read dealt with passing the values as parameters and following the steps to define the parameters in faces.config files etc., then retrieving the parameters in a backing bean. Processing the passed data required another set of procedures to utilize mapping to each of the field parameters passed and then processing could begin. That seemed like a whole heck of a lot to me just to retrieve form data. Then it occurred to me that I should be able to "bind" a text field component on a page to a backing bean. Once it is bound then all I have to do is extract the data. And that's all there is to it. My query returned results and pre-populated a data table including text fields with the values of the query pre-populated in the text fields. Each one of those text fields was bound to a "HtmlInputText" type in my backing bean. It was not a String type like other approaches define. Doing that does require you to map parameters and populate that String variable through your set methods once the form is submitted. What I found is that if I bind my text field to a property of text field type that it solved my problem of passing values from a data table, and I didn't have to define parameter fields anywhere in any xml file. Now that I had that figured that out I needed to figure out how to get the value of that property that I've bound my form field to, well why not getValue()? I personally hadn't seen any examples online or in books for retrieving the value from a form binding it to the type of form element it was and simply use the getValue() to pull out the value of the object. Used like this getParameterFromForm().getValue(). Let me clarify that I am NOT saying that trying this approach isn't documented anywhere, I find it hard to believe that I've had some stroke of genius that no one has had before in the world of java, especially since I'm coming from .NET and ColdFusion. After doing that I no longer had any problems passing form data to my backing bean. I was able to dynamically populate data tables with any number of records including any number of command buttons within that data table and I didn't have to concern myself with remembering to define parameters in any other areas of the application. So put simply you can bind your form fields to properties of the same type in your backing bean, and then extract the value of that object using getValue() if you prefer over utilizing parameter string mapping and similar approaches for processing form data. I found it to be easier and less time consuming which has costs associated to it as well.
Web Marketing and the Potential in a Multi-Site Design
The concept of web development may include more than a singular ecommerce website. I have talked about the subject of web development in light of positively constructing a website. I've also talked about the mentality needed to envision the entire site prior to launch so you have some idea of where you want to go. The goal also included the need for a plan for growth and site expansion. This article looks at the subject from the point of view of a corporate office with a few satellite offices that support and expand the potential of the primary business. In a brick and mortar store environment it is often true that a business will start in a singular location. As trust is built through longevity and commitment to quality and service the business grows. If the business does well the owner may decide to develop a second store in another city within the region of primary service and support. Other stores may be opened as a result of the ongoing success of the overall operation. The idea is multiple stores - one brand. Web development may be the mirror image of the brick and mortar model. Why do I say mirror? Well, because in the case of an online environment an ecommerce business owner may be better served by starting with the secondary stores and building up to the primary online business portal. If you're thinking, "That does seem backwards," allow me to explain. These satellite stores should have direct links to your primary site. Each satellite may have its own emphasis, but will always relate to the thrust of your main business. The end goal remains the same, multiple stores - one brand. Why develop more than one site? In web development the idea of more than one site could mean improved site rankings for your primary site and additional opportunities to reach potential customers. Think of it this way. Each satellite website you develop can take on a distinct list of keywords or phrases. Each will be associated with your primary product. All content on the site will be geared toward the specific keyword or phrase. If you have four supporting sites that can go online at the same time as your primary site you have five distinct opportunities to reach consumers with your message. Work to optimize each site for search engines and select unique and researched keywords or phrases for each site. Is that the only benefit? By developing your web presence this way you begin the process with backlinks already in place from the satellite sites to your primary web presence. As your Search Engine Optimization (SEO) strategies begin yielding results they should do so in all five instances and ultimately this effort benefits your bottom line. By having five separate sites that market the same product from a slightly different vantage point the potential improves for increased sales. This is true not just because there are more sites for consumers to view, but because search engines will connect with this scenario and provide improved rankings earlier. Proper web development may include more than one site and more than one approach as the vehicle used to maximize the overall potential of the product or service being marketed.
Tips for Building a Successful Website
In order to truly profit from the internet, one needs a website. There are many programs available that offer free websites but these will not bring about the profit that most people truly desire. What makes the free websites so unsavory is their cookie cutter appearance. All these websites are exactly alike visually and most carry the same content. Original content is what sells best on the internet. For this reason, potential internet marketers should make their initial investment in a domain name. Before selecting a domain name, however, research must be conducted to determine the best items to sell. The way that search engines find websites is with their keywords. By selecting a domain name that is laden with keywords, that site will be more highly indexed by the web crawlers. For this reason, a product needs to be selected in order to appropriate the best domain name for that product. After a product has been selected and a domain name purchased, content needs to be added to the site. Make sure to use appropriate headers that are short, sweet, and full of keywords. Make the site user friendly and visually pleasing. Products should be on the site next. As stated in the beginning, original content is best. However, developing your own content can incur cost and time. If just starting out, you can sell other people's product to get your business started. After products are placed, make sure to make your site viral by placing a tell-a-friend feature on the site. This will help to drive more traffic to the site with little effort on your part. Also add an email capture function, and forum if possible. The email capture will help to build a list of potential customers whether you have made a sale to them yet or not. The forum option will bring repeat visitors to the site. These are just a few ways to make your site successful and profitable.
|
* About Archives
Categories:
Last Updated: |
| regularban.info
is proudly powered by WordPress MU running
on regularban.info.
Create a new blog and join in the fun! Entries (RSS) and Comments (RSS). |