|
Technical Interview Questions
Oracle Interview Questions
J2EE Interview Questions
C++
Interview Questions
XML
Interview Questions
EJB
Interview Questions
JSP
Interview Questions
.........More
Programming Source Codes
Java Source Codes
Html Source Codes
CSS Source Codes
C Source Codes
.........More
Soft Skills
Communication Skills
Leadership Skills
.........More
|
|
Structs Interview Questions and Answers
Can I use JavaScript to submit a form?
You can submit a form with a link as below. BTW, the examples below
assume you are in an block and 'myForm' is picked up from the struts-config.xml
name field of the action.
<a href='javascript:void(document.forms["myForm"].submit()>My Link</a>
Now the trick in the action is to decode what action you intend to
perform. Since you are using JavaScript, you could set a field value and
look for it in the request or in the form.
... html/javascript part ...
<input type='hidden' value='myAction' />
<input type='button' value='Save Meeeee'
onclick='document.forms["myForm"].myAction.value="save";
document.forms["myForm"].submit();' />
<input type='button' value='Delete Meeeee'
onclick='document.forms["myForm"].myAction.value="delete";
document.forms["myForm"].submit();' />
... the java part ...
class MyAction extends ActionForm implements Serializable {
public ActionForward execute (ActionMapping map, ActionForm form,
HttpServletRequest req, HttpServletResponse) {
String myAction = req.getParameter("myAction");
if (myAction.equals("save") {
// ... save action ...
} else if (myAction.equals("delete") {
// ... delete action ...
}
}
}
}
This is just one of many ways to achieve submitting a form and decoding
the intended action. Once you get used to the framework you will find
other ways that make more sense for your coding style and requirements.
Just remember this example is completely non-functional without
JavaScript.
How do I use JavaScript to ...
Struts is mainly a server-side technology. We bundled in some JSP tags
to expose the framework components to your presentation page, but past
that, the usual development process applies.
Interactive pages require the use of JavaScript. (That's why it was
invented.) If you want things popping up or doing this when they click
that, you are outside the scope of Struts and back into the web
development mainstream.
You use JavaScript with Struts the same way you use with any
presentation page. Since JavaScript is a client-side technology, you can
use simple relative references to your scripts. If you need to fire a
JavaScript from a HTML control, the Struts HTML tags have properties for
the JavaScript events.
A very good JavaScript resource is Matt Kruse's site at http://www.mattkruse.com/javascript/
Do I need to implement reset and set all my form properties to their
initial values?
No. You need to set checkbox properties to false if the ActionForm is
being retained in session scope. This is because an unchecked box does
not submit an attribute. Only checked boxes submit attributes. If the
form is in session scope, and the checkbox was checked, there is no way
to turn it back off without the reset method. Resetting the properties
for other controls, or for a request scope form, is pointless. If the
form is in request scope, everything already just started at the initial
value.
Can I use other beans or hashmaps with ActionForms?
Yes. There are several ways that you can use other beans or hashmaps
with ActionForms.
* ActionForms can have other beansor hashmaps as properties
* "Value Beans" or "Data Transfer Objects" (DTOs) can be used
independently of ActionForms to transfer data to the view
* ActionForms can use Maps to support "dynamic" properties (since Struts
1.1)
ActionForms (a.k.a. "form beans") are really just Java beans (with a few
special methods) that Struts creates and puts into session or request
scope for you. There is nothing preventing you from using other beans,
or including them in your form beans. Here are some examples:
Collections as properties Suppose that you need to display a pulldown
list of available colors on an input form in your application. You can
include a string-valued colorSelected property in your ActionForm to
represent the user's selection and a colorOptions property implemented
as a Collection (of strings) to store the available color choices.
Assuming that you have defined the getters and setters for the
colorSelected and colorOptions properties in your orderEntryForm form
bean, you can render the pulldown list using:
<html:select property="colorSelected">
<html:options property="colorOptions" name="orderEntryForm"/>
</html:select>
The list will be populated using the strings in the colorOptions
collection of the orderEntryForm and the value that the user selects
will go into the colorSelected property that gets posted to the
subsequent Action. Note that we are assuming here that the colorOptions
property of the orderEntryForm has already been set.
See How can I prepopulate a form? for instructions on how to set form
bean properties before rendering edit forms that expect properties to be
pre-set.
Independent DTO An Action that retrieves a list of open orders (as an
ArrayList of Order objects) can use a DTO independently of any form bean
to transfer search results to the view. First, the Action's execute
method performs the search and puts the DTO into the request:
ArrayList results = businessObject.executeSearch(searchParameters);
request.setAttribute("searchResults",results);
Then the view can iterate through the results using the "searchResults"
request key to reference the DTO:
` <logic:iterate id="order" name="searchResults" type="com.foo.bar.Order">
<tr><td><bean:write name="order" property="orderNumber"/><td>
<td>..other properties...</td></tr>
</logic:iterate>
How can I scroll through list of pages like the search results in
google?
Many Struts developers use the Pager from the JSPTags site.
http://jsptags.com/tags/navigation/pager/
Page Numbers
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Have a Question ?
post your questions here. It
will be answered as soon as possible.
Check
Java Interview
Questions for more Java Interview Questions with answers
Check
Servlet Interview
Questions for more Servlet Interview Questions with answers
|