You are right, that seems odd.

I really like 'core' since it seems (to me anyway) to encapsulate the 'core' of the framework, but I'm not married to it, and I know how (sometimes) being too close to something makes it harder to see the 'forrest' ;)

Your thoughts?

--
James Mitchell
Software Engineer / Open Source Evangelist
Consulting / Mentoring / Freelance
EdgeTech, Inc.
http://www.edgetechservices.net/
678.910.8017
AIM:   jmitchtx
Yahoo: jmitchtx
MSN:   [EMAIL PROTECTED]
Skype: callto://jmitchtx





On Sep 5, 2005, at 5:10 PM, Ted Husted wrote:

Here's an odd idea: What if we called Struts "Core", Struts "Config" instead?

After all, the purpose of the codebase is to realize the struts-config
XML file. What goes into Struts "Core" might be ambiguous, but what
goes inot Struts Config is defined, by, well, the struts-config XML
declaration.

Here's that new home page again, with s/Core/Config:


Welcome to Struts Config

Struts Config provides the invisible underpinnings every professional
web application needs to survive. Struts Config is a flexible control
layer based on standard technologies like Java Servlets, JavaBeans,
ResourceBundles, and XML, as well as various Jakarta Commons packages. Config helps you create an extensible development environment for your
application, based on published standards and proven design patterns.

Struts Config provides its own Controller component and integrates with
other technologies to provide the Model and the View. For the Model,
Config can interact with standard data access technologies, like JDBC
and EJB, as well as most any third-party packages, like Hibernate,
iBATIS, or Object Relational Bridge. For the View, Config works well
with JavaServer Pages, including JSTL and JSF, as well as Velocity
Templates, XSLT, and other presentation systems.

Struts Config in a Nutshell

A web application uses a deployment descriptor to initialize resources like servlets and taglibs. The deployment descriptor is formatted as a XML document and named "web.xml". Likewise, Config uses a configuration
file to initialize its own resources. These resources include
ActionForms to collect input from users, ActionMappings to direct
input to server-side Actions, and ActionForwards to select output
pages.

Here's a simple Struts configuration (struts-config.xml) for a login workflow:

    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
          "http://struts.apache.org/dtds/struts-config_1_3.dtd";>
    <struts-config>
        <form-beans>
            <form-bean
                name="logonForm"
                type="app.LogonForm"/>
        </form-beans>
        <action-mappings>
            <action
                path="/Welcome"
                forward="/pages/Welcome.jsp"/>
            <action
                path="/Logon"
                forward="/pages/Logon.jsp"/>
            <action
                path="/LogonSubmit"
                type="app.LogonAction"
                name="logonForm"
                scope="request"
                validate="true"
                input="/pages/Logon.jsp">
                <forward
                    name="success"
                    path="/pages/Welcome.jsp"/>
                <forward
                    name="failure"
                    path="/pages/Logon.jsp"/>
            </action>
            <action
                path="/Logoff"
                type="app.LogoffAction">
                <forward
                    name="success"
                    path="/pages/Logoff.jsp"/>
            </action>
        </action-mappings>
        <message-resources parameter="resources.application"/>
    </struts-config>

There are several other resources you can specify in Struts Config
configuration files. You can specify validations for the ActionForms
in an XML descriptor, using the Struts Validator. A standard
extension, Tiles, helps you build pages from smaller fragments.

Struts Config is an extensible framework. Every class deployed by Config
can be replaced by your own default class. The properties of your
default class can be set using the Digester's set-property feature.
This is one reason why there are so many contributor extensions for
Struts Config . Config provides a base framework, but you can still write
your application your way.

For more about Struts and its underlying technologies, see the User
Guide and the Developer Guides.

Is Struts Config the best choice for every project?

No. If you need to write a very simple application, with a handful of
pages, then you might consider a "Model 1" solution that uses only
server pages.

But, if you are writing a more complicated application, with dozens of pages, that need to be maintained over time, then Struts Config can help. For
more about whether Model 1 or or MVC/Model 2 is right for you, see
Understanding JavaServer Pages Model 2 architecture and Issues in
Struts Adoption.

What about JSTL and JavaServer Faces?

Next: Struts Config User Guide


-T.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to