blob: 43a6cd1a35059efbbfda0b4a5012a90473214b4e [file] [log] [blame]
<?xml version="1.0"?>
<!--
$Id$
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
// ======================================================================== 78
-->
<document>
<properties>
<title>Welcome</title>
</properties>
<body>
<section name="Welcome to Struts Scripting">
<a name="overview"/>
<p>This component allows Struts Actions to be written in the scripting
language of one's choice rather than as Java classes. It uses the
<a href="http://jakarta.apache.org/bsf">Bean Scripting Framework</a>
to allow scripts to be written in any language BSF supports like Perl,
Python, Ruby, JavaScript, Groovy, and even VBScript.
</p>
<p>
Struts Scripting allows an application to be developed rapidly with
the quick development cycle (edit file -> refresh browser) that one
would expect in a scripting environment. Furthermore, it enables other
non-Java trained members of a development group, such as web designers who
may have a scripting background, to be more involved, leaving the Java
developers to create the reusable services the Struts actions will interact
with. Finally, when used with Java-like languages such as <a
href="http://groovy.codehaus.org">Groovy</a>, applications can quickly be
stood up, then later the Struts action scripts can be migrated to Java for
better performance.
</p>
<subsection name="Features">
<a name="features"/>
<ul>
<li>Implement Actions with JavaScript, Groovy, etc.</li>
<li>Supports all BSF languages</li>
<li>Scripts cached in memory on first use</li>
<li>Ability to pass parameters to script through Struts config</li>
</ul>
</subsection>
<subsection name="Documentation">
<a name="documentation"/>
<ul>
<li><a href="user-guide.html">User Guide</a> - Covers installation and usage</li>
<li><a href="source-guide.html">Source Code Guide</a> - Covers the source layout and how to build Struts Scripting</li>
<li><a href="apidocs/index.html">Javadocs</a> - Includes
<a href="apidocs/org/apache/struts/scripting/StrutsInfo.html"><code>struts</code></a> variable and
<a href="apidocs/org/apache/struts/scripting/BSFManagerFilter.html">Filter</a> API's.</li>
<li><a href="http://svn.apache.org/viewvc/struts/action/trunk/apps/scripting-mailreader/src/main/">Struts
Mailreader</a> - A rewrite of the Struts Mailreader example application using Struts Scripting
and <a href="http://groovy.codehaus.org">Groovy</a></li>
</ul>
</subsection>
</section>
</body>
</document>