Use ImageButtonBean for Image based Form Submits in Struts
By: Lakshmi in Struts Tutorials on 2007-09-22
Whenever a form is submitted via <input type="image" name="save" />, two request parameters save.x and save.y - corresponding to x and y coordinates are submitted. We don't worry about the exact value of the coordinates since we are not using mage maps. Instead the mere presence of save.x and/or save.y indicates that the form was submitted via the save image button. We combine this concept with Struts support for nested properties:a. Add two fields named save and cancel to CustomerForm. Both fields are of type ImageButtonBean. Add getter methods for each.
b. Remove the step field and its getters and setters. We will not use it anymore.
c. Change the CustomerAction to use the following check in its execute() method, instead of the form.getStep().equals("Save"):
form.getSave().isSelected()
This method checks if the save button is used for form submission.
d. Similarly the isCancelled() method will not work since the Struts supplied cancel button checks for pre defined request parameter. We now have to replace it with:
form.getCancel().isSelected()
e. Also since we are not using the pre-defined Cancel button anymore, the validate() method in CustomerForm will run for Cancel too. Hence add the code to bypass validation for Form Cancellation.
f. In the CustomerForm.jsp, add the following for the image
buttons:
<html:form>
..
..
..
<html:image property="save"
srcKey="image.save"
altKey="image.save.alttext" />
<html:image property="cancel"
srcKey="image.cancel"
altKey="image.cancel.alttext" />
..
</html:form>
g. Define the srcKey and altKey for both images in the Resource Bundles
image.save=images/save.gif
image.save.alttext=Save the Form
image.cancel=images/cancel.gif
image.cancel.alttext=Cancel Submission
Add Comment
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
- Your name, rating, website address, town, country, state and comment will be publicly displayed if entered.
- Aside from the data entered into these form fields, other stored data about your comment will include:
- Your IP address (not displayed)
- The time/date of your submission (displayed)
- Your email address will not be shared. It is collected for only two reasons:
- Administrative purposes, should a need to contact you arise.
- To inform you of new comments, should you subscribe to receive notifications.
- A cookie may be set on your computer. This is used to remember your inputs. It will expire by itself.
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
- Although the administrator will attempt to moderate comments, it is impossible for every comment to have been moderated at any given time.
- You acknowledge that all comments express the views and opinions of the original author and not those of the administrator.
- You agree not to post any material which is knowingly false, obscene, hateful, threatening, harassing or invasive of a person's privacy.
- The administrator has the right to edit, move or remove any comment for any reason and without notice.
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
- Data Science
- Android
- React Native
- AJAX
- ASP.net
- C
- C++
- C#
- Cocoa
- Cloud Computing
- HTML5
- Java
- Javascript
- JSF
- JSP
- J2ME
- Java Beans
- EJB
- JDBC
- Linux
- Mac OS X
- iPhone
- MySQL
- Office 365
- Perl
- PHP
- Python
- Ruby
- VB.net
- Hibernate
- Struts
- SAP
- Trends
- Tech Reviews
- WebServices
- XML
- Certification
- Interview
categories
Related Tutorials
Handling Duplicate Form Submissions in Struts
Guidelines for Struts Application Development
Configuring JDBC DataSources in Struts
When is the best time to validate input in Struts
Simple example of using the requiredif Validator rule in Struts
How to prepopulate a form in Struts
Using JavaScript to submit a form in Struts
FAQ: Why are my checkboxes not being set from ON to OFF?
FAQ: Why was reload removed from Struts (since 1.1)?
Comments