Question21: What are the disadvantages of
Struts?
Answer: Struts is very robust framework and is being used extensively
in the industry. But there are some disadvantages of the Struts:
a) High Learning Curve
Struts requires lot of efforts to learn and master it. For any small
project less experience developers could spend more time on learning the
Struts.
b) Harder to learn
Struts are harder to learn, benchmark and optimize.
Question22: What is Struts Flow?
Answer: Struts Flow is a port of Cocoon's Control Flow to Struts to
allow complex workflow, like multi-form wizards, to be easily implemented
using continuations-capable JavaScript. It provides the ability to describe
the order of Web pages that have to be sent to the client, at any given point
in time in an application. The code is based on a proof-of-concept Dave
Johnson put together to show how the Control Flow could be extracted from
Cocoon. (Ref:
http://struts.sourceforge.net/struts-flow/index.html
)
Question23: What are the difference between
<bean:message> and <bean:write>?
Answer: <bean:message>: This tag is used to output
locale-specific text (from the properties files) from a MessageResources
bundle.
<bean:write>: This tag is used to output property values from a
bean. <bean:write> is a commonly used tag which enables the programmers
to easily present the data.
Question24: What is LookupDispatchAction?
Answer: An abstract Action that dispatches to the subclass mapped
execute method. This is useful in cases where an HTML form has multiple submit
buttons with the same name. The button name is specified by the parameter
property of the corresponding ActionMapping. (Ref.
http://struts.apache.org/1.2.7/api/org/apache/struts/actions/LookupDispatchAction.html).
Question25: What are the components of Struts?
Answer: Struts is based on the MVC design pattern. Struts components
can be categories into Model, View and Controller.
Model: Components like business logic / business processes and data are
the part of Model.
View: JSP, HTML etc. are part of View
Controller: Action Servlet of Struts is part of Controller components
which works as front controller to handle all the requests.
Question26: What are Tag Libraries provided with
Struts?
Answer: Struts provides a number of tag libraries that helps to create
view components easily. These tag libraries are:
a) Bean Tags: Bean Tags are used to access the beans and their
properties.
b) HTML Tags: HTML Tags provides tags for creating the view components
like forms, buttons, etc..
c) Logic Tags: Logic Tags provides presentation logics that eliminate
the need for scriptlets.
d) Nested Tags: Nested Tags helps to work with the nested
context.
Question27: What are the core classes of the Struts
Framework?
Answer: Core classes of Struts Framework are
ActionForm, Action, ActionMapping, ActionForward, ActionServlet etc.
Question28: What are difference between
ActionErrors and ActionMessage?
Answer: ActionMessage: A class that encapsulates messages.
Messages can be either global or they are specific to a particular bean
property.
Each individual message is described by an ActionMessage object, which
contains a message key (to be looked up in an appropriate message resources
database), and up to four placeholder arguments used for parametric
substitution in the resulting message.
ActionErrors: A class that encapsulates the error
messages being reported by the validate() method of an ActionForm. Validation
errors are either global to the entire ActionForm bean they are associated
with, or they are specific to a particular bean property (and, therefore, a
particular input field on the corresponding form).
Question29: How you will handle exceptions in
Struts?
Answer: In Struts you can handle the exceptions in two ways:
a) Declarative Exception Handling: You can either define global
exception handling tags in your struts-config.xml or define the exception
handling tags within <action>..</action> tag.
Example:
<exception
key="database.error.duplicate"
path="/UserExists.jsp"
type="mybank.account.DuplicateUserException"/>
b) Programmatic Exception Handling: Here you can use
try{}catch{} block to handle the exception.
Question30: What do you understand by JSP Actions?
Answer: JSP actions are XML tags that direct the server to use existing
components or control the behavior of the JSP engine. JSP Actions consist of a
typical (XML-based) prefix of "jsp" followed by a colon, followed by the action
name followed by one or more attribute parameters.
There are six JSP Actions:
<jsp:include/>
<jsp:forward/>
<jsp:plugin/>
<jsp:usebean/>
<jsp:setProperty/>
<jsp:getProperty/>
|