struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pablo Vázquez Blázquez <pvazq...@denodo.com>
Subject Re: File Upload
Date Wed, 23 Jan 2008 12:38:37 GMT
Is there any problem with this mail list? I can´t send mails.

Jeromy Evans escribió:
> I'd use a breakpoint in to inspect the content of the data variable.  
> Is it a tree of Nodes or is it plain text/html?  If the former it can 
> be appended/inserted directly into the DOM with the respective method. 
> If the latter the code below would be throwing a NPE and you can use 
> innerHTML=data.
>
> innerHTML also has a few quirks in IE6 and IE7. Dojo itself may 
> include some functions for manipulating the DOM reliably.  Check the 
> 0.4 API.
>
> Pablo Vázquez Blázquez wrote:
>> Hello again,
>>
>> If I change:
>> load: function(type, data, evt){
>>          document.getElementById("mydiv").innerHTML =
>> data.firstChild.innerHTML;
>>
>> for:
>>
>> load: function(type, data, evt){
>>          document.getElementById("mydiv").innerHTML = 'HELLO';
>>
>> it works. But I want to show the response content. Do you know why 
>> "data.firstChild.innerHTML" is "undefined"??
>>
>> Thanks.
>>
>>
>> Pablo Vázquez Blázquez escribió:
>>> Thanks for your reply.
>>>
>>> I have looked the links below and I tried what it says:
>>>
>>> The form:
>>>
>>> <form id="myform" action="nodecorate/myaction.action"
>>> enctype="multipart/form-data" method="post">
>>>      <s:file name="myfile"></s:file>
>>>      <input type="button" onclick="sendIt(); return false;">
>>> </form>
>>>
>>> The javascript:
>>>
>>> function sendIt(){
>>>   var bindArgs = {
>>>       transport: "IframeTransport",
>>>       formNode: document.getElementById("myform"),
>>>       mimetype: "text/html",
>>>       load: function(type, data, evt){
>>>           document.getElementById("mydiv").innerHTML =
>>> data.firstChild.innerHTML;
>>>       }
>>>   };
>>>   var request = dojo.io.bind(bindArgs);
>>> }
>>>
>>> The div with id 'mydiv' will then get updated with the response from 
>>> the
>>> action.
>>>
>>>
>>>
>>> Well, my form looks like this:
>>>
>>>    <s:form id="addPluginForm" name="addPluginForm" theme="simple" 
>>>            action="AddPlugin" enctype="multipart/form-data" 
>>> method="post">
>>>               <div class="field">
>>>            <span class="label">
>>>                <fmt:message key="PluginsTable.File"/>*:
>>>            </span>
>>>            <span class="entry">
>>>                <s:file name="upload" size="40"
>>>                    accept="application/java-archive"/>
>>>                <span id="errorId" class="errorMessage">
>>>                    <s:property value="fieldErrors['upload'][0]" />
>>>                </span>
>>>                <span id="errorId" class="errorMessage">
>>>                    <s:property 
>>> value="fieldErrors['uploadContentType'][0]" />
>>>                </span>
>>>            </span>
>>>        </div>
>>>               <!-- BOTONES -->
>>>        <div class="button">
>>>            <span class="buttonLeft">
>>>                <s:submit type="button"                         
>>> onclick="sendMultiPartForm('addPluginForm', 'configAjaxContent'); 
>>> return false;"
>>>                        cssClass="submit">
>>>                    <s:param name="value">
>>>                        <fmt:message key="Buttons.accept"/>
>>>                    </s:param>
>>>                </s:submit>
>>>            </span>
>>>            <span class="buttonRight">
>>>                <!-- cancelar -->
>>>                <s:url id="CancelUrl" action="CancelConfiguration"/>
>>>                <s:submit type="button" theme="ajax" 
>>> targets="configAjaxContent"                        
>>> showLoadingText="false" cssClass="reset" href="${CancelUrl}">
>>>                    <s:param name="value">
>>>                        <fmt:message key="Buttons.cancel"/>
>>>                    </s:param>
>>>                </s:submit>
>>>            </span>
>>>        </div>
>>>           </s:form>
>>>
>>> and my Javascript:
>>>
>>> function sendMultiPartForm(formId, targetId) {
>>>       dojo.require("dojo.io.IframeIO");
>>>    var bindArgs = {
>>>       transport: "IframeTransport",
>>>       formNode: document.getElementById(formId),
>>>       mimetype: "text/html",
>>>       load: function(type, data, evt) {
>>>           document.getElementById(targetId).innerHTML =
>>>                data.firstChild.innerHTML;
>>>       }
>>>    };
>>>      var request = dojo.io.bind(bindArgs);
>>> }
>>>
>>> Unfortunately, it is happening the same than before: the file is 
>>> uploaded but my target div is not being updated with the action's 
>>> response content. And, as before, if I want to upload another file, 
>>> I must go first to another action and then, return to this one; if 
>>> not, it doesn't work...
>>>
>>>
>>> Am I missing sth? Doing sth wrong?
>>>
>>>
>>>
>>>
>>>
>>>
>>> Jeromy Evans escribió:
>>>> hmm...that's interesting.
>>>>
>>>> My approach would be to create a new blank struts application that 
>>>> just contains a file upload action. Get it to work without ajax as 
>>>> there still seems to be a configuration problem.
>>>>
>>>> Then, when you're satisfied the configuration is correct... 
>>>> unfortunately you can't use s:form theme=ajax to perform a 
>>>> multi-part upload in Struts2.0.  To perform an asynchronous upload, 
>>>> you'll have to use Dojo's IFrameIO feature directly.  I haven't 
>>>> used it myself, but it's described in the following two posts:
>>>>
>>>> http://www.mail-archive.com/user@struts.apache.org/msg60245.html
>>>> http://www.nabble.com/Image-Upload-and-Dojo-td14350527.html
>>>>
>>>> I hope that helps!
>>>>
>>>> Pablo Vázquez Blázquez wrote:
>>>>> Error de lectura XML: contenido incorrecto tras un elemento XML 
>>>>> del documento
>>>>> Ubicación: http://localhost:8080/scheduler-admintool-1.0/AddPlugin.do
>>>>> Número de línea 8, columna 1:<form id="addPluginForm" 
>>>>> name="addPluginForm" onsubmit="return true;" 
>>>>> action="/scheduler-admintool-1.0/AddPlugin.do" method="post" 
>>>>> enctype="multipart/form-data">
>>>>> ^
>>>>>
>>>>> That´s the result if I try without the ajax theme on the form.
>>>>>
>>>>> Yes, I would like to use the ajax theme.
>>>>>
>>>>> Thanks.
>>>>>
>>>>> Jeromy Evans escribió:
>>>>>> Are you deliberately trying to do an XHR file upload? Have you 
>>>>>> tried it without the ajax theme on the form?
>>>>>>
>>>>>> Pablo Vázquez Blázquez wrote:
>>>>>>> Yes yes, that debugging statement is executed. That´s why I
know 
>>>>>>> my plugin is created.
>>>>>>>
>>>>>>> "Anadido plugin " + uploadFileName means "Added plugin " + 
>>>>>>> uploadFileName.
>>>>>>>
>>>>>>> And then, it goes to ShowPlugins and the debugging statement
>>>>>>> log.debug("Obtenidos plugins"); (Getted all plugins) is also

>>>>>>> executed.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Cheng Wei Lee escribió:
>>>>>>>> Was this debugging statement executed?
>>>>>>>>
>>>>>>>>            log.debug("Anadido plugin " + uploadFileName);
>>>>>>>>
>>>>>>>>
>>>>>>>> On Jan 18, 2008 12:13 AM, Pablo Vázquez Blázquez 
>>>>>>>> <pvazquez@denodo.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>  
>>>>>>>>> Here I send you my JSP and Action code.
>>>>>>>>>
>>>>>>>>> Yes, when I submit, the new plugin is added (I know it
because 
>>>>>>>>> of my
>>>>>>>>> logs), but I don´t know why I don´t get the result
page.
>>>>>>>>>
>>>>>>>>> Thank you.
>>>>>>>>>
>>>>>>>>> PD: I have now tried without struts.multipart.parser,
but it 
>>>>>>>>> doesn´t work.
>>>>>>>>>
>>>>>>>>> ****** JSP ******
>>>>>>>>>
>>>>>>>>> <jsp:root xmlns="http://www.w3.org/1999/xhtml"
>>>>>>>>>    xmlns:jsp="http://java.sun.com/JSP/Page"
>>>>>>>>>    xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
>>>>>>>>>    xmlns:c="http://java.sun.com/jsp/jstl/core"
>>>>>>>>>    xmlns:s="/struts-tags"
>>>>>>>>>    version="2.0">
>>>>>>>>>
>>>>>>>>>    <!-- Tabla con los plugins. Si no hay ninguno,
se muestra 
>>>>>>>>> un mensaje
>>>>>>>>> -->
>>>>>>>>>    <table class="pluginsTable" cellspacing="0px" 
>>>>>>>>> cellpadding="3px"
>>>>>>>>> border="1px">
>>>>>>>>>        <tbody>
>>>>>>>>>            <tr>
>>>>>>>>>                <td class="tableTitle" colspan="5">
>>>>>>>>>                    <fmt:message key="PluginsTable.Title"/>
>>>>>>>>>                </td>
>>>>>>>>>            </tr>
>>>>>>>>>            <tr>
>>>>>>>>>                <td class="tableHeader">
>>>>>>>>>                    <fmt:message key="PluginsTable.Name"/>
>>>>>>>>>                </td>
>>>>>>>>>                <td class="tableHeader">
>>>>>>>>>                    <fmt:message key="PluginsTable.JarFile"/>
>>>>>>>>>                </td>
>>>>>>>>>                <td class="tableHeader">
>>>>>>>>>                    <fmt:message key="PluginsTable.PluginClass"/>
>>>>>>>>>                </td>
>>>>>>>>>                <td class="tableHeader">
>>>>>>>>>                    <fmt:message key="PluginsTable.Type"/>
>>>>>>>>>                </td>
>>>>>>>>>                <td class="tableHeader">
>>>>>>>>>                    <fmt:message key="PluginsTable.Actions"/>
>>>>>>>>>                </td>
>>>>>>>>>            </tr>
>>>>>>>>>            <c:if test="${empty plugins}">
>>>>>>>>>                <tr>
>>>>>>>>>                    <td class="tableMessage" colspan="5">
>>>>>>>>>                        <fmt:message 
>>>>>>>>> key="PluginsTable.NoPlugins"/>
>>>>>>>>>                    </td>
>>>>>>>>>                </tr>
>>>>>>>>>            </c:if>
>>>>>>>>>            <c:forEach items="${plugins}" var="plugin"

>>>>>>>>> varStatus="status">
>>>>>>>>>                <!-- stuff -->
>>>>>>>>>            </c:forEach>
>>>>>>>>>        </tbody>
>>>>>>>>>    </table>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>    <!-- Form to add plugin -->
>>>>>>>>>    <s:form id="addPluginForm" name="addPluginForm"
theme="ajax"
>>>>>>>>>            action="AddPlugin" enctype="multipart/form-data"

>>>>>>>>> method="post">
>>>>>>>>>
>>>>>>>>>        <div class="field">
>>>>>>>>>            <span class="label">
>>>>>>>>>                <fmt:message key="PluginsTable.File"/>*:
>>>>>>>>>            </span>
>>>>>>>>>            <span class="entry">
>>>>>>>>>                <s:file name="upload" size="40"
>>>>>>>>>                    accept="application/java-archive"/>
>>>>>>>>>                <span id="errorId" class="errorMessage">
>>>>>>>>>                    <s:property 
>>>>>>>>> value="fieldErrors['upload'][0]" />
>>>>>>>>>                </span>
>>>>>>>>>                <span id="errorId" class="errorMessage">
>>>>>>>>>                    <s:property 
>>>>>>>>> value="fieldErrors['uploadContentType'][0]"
>>>>>>>>> />
>>>>>>>>>                </span>
>>>>>>>>>            </span>
>>>>>>>>>        </div>
>>>>>>>>>
>>>>>>>>>        <!-- BOTONES -->
>>>>>>>>>        <jsp:directive.include file="FormButtons.jspf"/>
>>>>>>>>>
>>>>>>>>>    </s:form>
>>>>>>>>>
>>>>>>>>> </jsp:root>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> ****** FORMBUTTONS.JSPF****
>>>>>>>>>
>>>>>>>>> <!-- BUTTONS-->
>>>>>>>>> <div class="button">
>>>>>>>>>    <span class="buttonLeft">
>>>>>>>>>        <s:submit type="button"
>>>>>>>>>                targets="configAjaxContent" executeScripts="true"
>>>>>>>>>                showLoadingText="false" indicator="indicator"
>>>>>>>>> cssClass="submit">
>>>>>>>>>            <s:param name="value">
>>>>>>>>>                <fmt:message key="Buttons.accept"/>
>>>>>>>>>            </s:param>
>>>>>>>>>        </s:submit>
>>>>>>>>>    </span>
>>>>>>>>>    <span class="buttonRight">
>>>>>>>>>        <!-- cancelar -->
>>>>>>>>>        <s:url id="CancelUrl" action="CancelConfiguration"/>
>>>>>>>>>        <s:submit type="button" targets="configAjaxContent"
>>>>>>>>>                showLoadingText="false" cssClass="reset"
>>>>>>>>> href="${CancelUrl}">
>>>>>>>>>            <s:param name="value">
>>>>>>>>>                <fmt:message key="Buttons.cancel"/>
>>>>>>>>>            </s:param>
>>>>>>>>>        </s:submit>
>>>>>>>>>    </span>
>>>>>>>>> </div>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> *****ACTION *****
>>>>>>>>> public class AddPluginAction extends 
>>>>>>>>> DefaultRequestResponseAction {
>>>>>>>>>
>>>>>>>>>    private static final long serialVersionUID = 
>>>>>>>>> 1516786859681901796L;
>>>>>>>>>
>>>>>>>>>    /**
>>>>>>>>>     * Logger for this class
>>>>>>>>>     */
>>>>>>>>>    private static final Log log = 
>>>>>>>>> LogFactory.getLog(AddPluginAction.class
>>>>>>>>> );
>>>>>>>>>
>>>>>>>>>    private File upload;
>>>>>>>>>    private String uploadContentType;
>>>>>>>>>    private String uploadFileName;
>>>>>>>>>
>>>>>>>>>    @Override
>>>>>>>>>    protected String doExecute() throws Exception {
>>>>>>>>>
>>>>>>>>>        clearErrorsAndMessages();
>>>>>>>>>
>>>>>>>>>        Context context =
>>>>>>>>>            SessionManager.getRemoteServerContext(getRequest());
>>>>>>>>>
>>>>>>>>>        SchedulerManager facade =
>>>>>>>>>            SessionManager.getUserFacadeDelegate(getRequest(),

>>>>>>>>> context);
>>>>>>>>>
>>>>>>>>>        try {
>>>>>>>>>
>>>>>>>>>            byte[] filedata = readInputStream(new 
>>>>>>>>> FileInputStream(upload));
>>>>>>>>>
>>>>>>>>>            facade.addPlugin(uploadFileName, filedata);
>>>>>>>>>
>>>>>>>>>            log.debug("Anadido plugin " + uploadFileName);
>>>>>>>>>
>>>>>>>>>        } catch (ConnectException e) {
>>>>>>>>>            log.error(e);
>>>>>>>>>            throw new InternalErrorException(e);
>>>>>>>>>
>>>>>>>>>        } catch (DuplicateInstanceException e) {
>>>>>>>>>            log.error(e);
>>>>>>>>>            addFieldError("upload",
>>>>>>>>>                    getText("PluginsTable.File.Duplicate"));
>>>>>>>>>
>>>>>>>>>        } catch (FileNotFoundException e) {
>>>>>>>>>            log.error(e);
>>>>>>>>>            addFieldError("upload",
>>>>>>>>>                    getText("PluginsTable.File.NotFound"));
>>>>>>>>>
>>>>>>>>>        } catch (Exception e) {
>>>>>>>>>            log.error(e);
>>>>>>>>>            addFieldError("uploadContentType",
>>>>>>>>>                    
>>>>>>>>> getText("ErrorMessages.file.incorrectExtension"));
>>>>>>>>>        }
>>>>>>>>>
>>>>>>>>>        if (hasErrors()) {
>>>>>>>>>            return Action.INPUT;
>>>>>>>>>        }
>>>>>>>>>
>>>>>>>>>        return Action.SUCCESS;
>>>>>>>>>    }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>    /*
>>>>>>>>>     * Read an input stream in its entirety into a byte
array
>>>>>>>>>     */
>>>>>>>>>    private static byte[] readInputStream(InputStream
inputStream)
>>>>>>>>>        throws IOException {
>>>>>>>>>
>>>>>>>>>        ....
>>>>>>>>>
>>>>>>>>>        return content;
>>>>>>>>>    }
>>>>>>>>>
>>>>>>>>>    /**
>>>>>>>>>     * Getters/Setters
>>>>>>>>>     * @return
>>>>>>>>>     */
>>>>>>>>>
>>>>>>>>>    public File getUpload() {
>>>>>>>>>        return upload;
>>>>>>>>>    }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>    public void setUpload(File upload) {
>>>>>>>>>        this.upload = upload;
>>>>>>>>>    }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>    public String getUploadContentType() {
>>>>>>>>>        return uploadContentType;
>>>>>>>>>    }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>    public void setUploadContentType(String uploadContentType)
{
>>>>>>>>>        this.uploadContentType = uploadContentType;
>>>>>>>>>    }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>    public String getUploadFileName() {
>>>>>>>>>        return uploadFileName;
>>>>>>>>>    }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>    public void setUploadFileName(String uploadFileName)
{
>>>>>>>>>        this.uploadFileName = uploadFileName;
>>>>>>>>>    }
>>>>>>>>>
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Dave Newton escribió:
>>>>>>>>>
>>>>>>>>>  
>>>>>>>>>> --- Pablo Vázquez Blázquez <pvazquez@denodo.com>
wrote:
>>>>>>>>>>
>>>>>>>>>>  
>>>>>>>>>>> I send you my struts-config.xml file, but it
works ok. If I 
>>>>>>>>>>> delete my
>>>>>>>>>>> "s:file" from my form, everything works fine.
>>>>>>>>>>>
>>>>>>>>>>>         
>>>>>>>>>> The error happens after you submit, correct?
>>>>>>>>>>
>>>>>>>>>> I guess I'd want to see the JSP and the action code,
then; the
>>>>>>>>>>       
>>>>>>>>> configuration
>>>>>>>>>  
>>>>>>>>>> seems okay.
>>>>>>>>>>
>>>>>>>>>> Have you tried it without setting the "struts.multipart.parser"
>>>>>>>>>>       
>>>>>>>>> constant? The
>>>>>>>>>  
>>>>>>>>>> default value of that is "jakarta", not a classname;
it's 
>>>>>>>>>> worth a shot,
>>>>>>>>>> anyway.
>>>>>>>>>>
>>>>>>>>>> d.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>  
>>>>>>>>>>> To see the action involved search:  <!-- HERE
IS THE PROBLEM 
>>>>>>>>>>> -->
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> <?xml version="1.0" encoding="UTF-8" ?>
>>>>>>>>>>> <!DOCTYPE struts PUBLIC
>>>>>>>>>>>     "-//Apache Software Foundation//DTD Struts
Configuration 
>>>>>>>>>>> 2.0//EN"
>>>>>>>>>>>     "http://struts.apache.org/dtds/struts-2.0.dtd">
>>>>>>>>>>>
>>>>>>>>>>> <struts>
>>>>>>>>>>>
>>>>>>>>>>>     <constant name="struts.enable.DynamicMethodInvocation"
>>>>>>>>>>>         
>>>>>>>>> value="false" />
>>>>>>>>>  
>>>>>>>>>>>     <constant name="struts.devMode" value="true"
/> <!-- 
>>>>>>>>>>> TODO: cambiar
>>>>>>>>>>>         
>>>>>>>>> a
>>>>>>>>>  
>>>>>>>>>>> false en produccion -->
>>>>>>>>>>>     <constant name="struts.action.extension"
value="do"/>
>>>>>>>>>>>     <constant name="struts.ui.theme" value="simple"/>
>>>>>>>>>>>     <constant name="struts.multipart.parser"
>>>>>>>>>>>
>>>>>>>>>>> value="org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest

>>>>>>>>>>>
>>>>>>>>>>>         
>>>>>>>>> "/>
>>>>>>>>>  
>>>>>>>>>>>     <!-- Internacionalizacion para los tags
de struts 2 -->
>>>>>>>>>>>     <constant name="struts.custom.i18n.resources"
>>>>>>>>>>>         value="admintool.http.view.messages.Messages"/>
>>>>>>>>>>>
>>>>>>>>>>>     <include file="struts-default.xml"/>
>>>>>>>>>>>
>>>>>>>>>>>     <!-- ===== Paquetes ===== -->
>>>>>>>>>>>     <package name="scheduler" extends="struts-default">
>>>>>>>>>>>
>>>>>>>>>>>         <!-- ===== Resultados globales =====
-->
>>>>>>>>>>>         <result-types>
>>>>>>>>>>>             <result-type name="tiles"
>>>>>>>>>>>                 
>>>>>>>>>>> class="org.apache.struts2.views.tiles.TilesResult"/>
>>>>>>>>>>>         </result-types>
>>>>>>>>>>>
>>>>>>>>>>>         <!-- ===== Interceptors ===== -->
>>>>>>>>>>>         <interceptors>
>>>>>>>>>>>
>>>>>>>>>>>             <interceptor name="session"
>>>>>>>>>>>
>>>>>>>>>>> class="admintool.http.controller.interceptors.SessionInterceptor"

>>>>>>>>>>> />
>>>>>>>>>>>
>>>>>>>>>>>             <interceptor name="login"
>>>>>>>>>>>
>>>>>>>>>>> class="admintool.http.controller.interceptors.AuthenticationInterceptor"

>>>>>>>>>>>
>>>>>>>>>>>         
>>>>>>>>> />
>>>>>>>>>  
>>>>>>>>>>>             <interceptor-stack name="defaultLoginStack">
>>>>>>>>>>>                 <interceptor-ref name="exception"
/>
>>>>>>>>>>>                 <interceptor-ref name="alias"
/>
>>>>>>>>>>>                 <interceptor-ref name="servlet-config"
/>
>>>>>>>>>>>                 <interceptor-ref name="session"
/>
>>>>>>>>>>>                 <interceptor-ref name="login"
/>
>>>>>>>>>>>                 <interceptor-ref name="prepare"
/>
>>>>>>>>>>>                 <interceptor-ref name="i18n"/>
>>>>>>>>>>>                 <interceptor-ref name="chain"
/>
>>>>>>>>>>>                 <interceptor-ref name="model-driven"
/>
>>>>>>>>>>>                 <interceptor-ref name="fileUpload"
/>
>>>>>>>>>>>                 <interceptor-ref name="static-params"
/>
>>>>>>>>>>>                 <interceptor-ref name="params"
/>
>>>>>>>>>>>                 <interceptor-ref name="conversionError"
/>
>>>>>>>>>>>                 <interceptor-ref name="validation"
/>
>>>>>>>>>>>                 <interceptor-ref name="workflow"
/>
>>>>>>>>>>>             </interceptor-stack>
>>>>>>>>>>>
>>>>>>>>>>>             <interceptor-stack name="defaultInsecureStack">
>>>>>>>>>>>                 <interceptor-ref name="exception"
/>
>>>>>>>>>>>                 <interceptor-ref name="alias"
/>
>>>>>>>>>>>                 <interceptor-ref name="servlet-config"
/>
>>>>>>>>>>>                 <interceptor-ref name="session"
/>
>>>>>>>>>>>                 <interceptor-ref name="prepare"
/>
>>>>>>>>>>>                 <interceptor-ref name="i18n"/>
>>>>>>>>>>>                 <interceptor-ref name="chain"
/>
>>>>>>>>>>>                 <interceptor-ref name="model-driven"
/>
>>>>>>>>>>>                 <interceptor-ref name="fileUpload"
/>
>>>>>>>>>>>                 <interceptor-ref name="static-params"
/>
>>>>>>>>>>>                 <interceptor-ref name="params"
/>
>>>>>>>>>>>                 <interceptor-ref name="conversionError"
/>
>>>>>>>>>>>                 <interceptor-ref name="validation"
/>
>>>>>>>>>>>                 <interceptor-ref name="workflow"
/>
>>>>>>>>>>>             </interceptor-stack>
>>>>>>>>>>>
>>>>>>>>>>>             <!-- Sample file upload stack
-->
>>>>>>>>>>>             <interceptor-stack name="fileUploadStack">
>>>>>>>>>>>                 <interceptor-ref name="fileUpload"/>
>>>>>>>>>>>                 <interceptor-ref name="basicStack"/>
>>>>>>>>>>>             </interceptor-stack>
>>>>>>>>>>>
>>>>>>>>>>>         </interceptors>
>>>>>>>>>>>
>>>>>>>>>>>         <!--
>>>>>>>>>>>             Make the defaultLoginStack the default
one used
>>>>>>>>>>>             for all actions unless otherwise
configured.
>>>>>>>>>>>         -->
>>>>>>>>>>>         <default-interceptor-ref name="defaultLoginStack"
/>
>>>>>>>>>>>
>>>>>>>>>>>         <!-- ===== Resultados globales =====
-->
>>>>>>>>>>>         <!-- se corresponden con los valores
por defecto 
>>>>>>>>>>> devueltos por
>>>>>>>>>>> Action (ej: error, login) -->
>>>>>>>>>>>         <global-results>
>>>>>>>>>>>             <result name="login"
>>>>>>>>>>> type="redirect-action">ShowAuthentication</result>
>>>>>>>>>>>             <result name="MainPage"
>>>>>>>>>>> type="redirect-action">Workspace</result>
>>>>>>>>>>>             <result
>>>>>>>>>>> name="error">/HTML/tiles/base/InternalError.jspx</result>
>>>>>>>>>>>             <result
>>>>>>>>>>>         
>>>>>>>>> name="exito">/HTML/tiles/base/SuccessPage.jspx</result>
>>>>>>>>>  
>>>>>>>>>>>         </global-results>
>>>>>>>>>>>
>>>>>>>>>>>         <!-- ===== Secciones principales =====
-->
>>>>>>>>>>>         <action name="Workspace">
>>>>>>>>>>>             <result type="tiles">.Workspace</result>
>>>>>>>>>>>         </action>
>>>>>>>>>>>
>>>>>>>>>>>         <action name="Scheduler">
>>>>>>>>>>>             <result type="tiles">.Scheduler</result>
>>>>>>>>>>>         </action>
>>>>>>>>>>>
>>>>>>>>>>>         <action name="Configuration">
>>>>>>>>>>>             <result type="tiles">.Configuration</result>
>>>>>>>>>>>         </action>
>>>>>>>>>>>
>>>>>>>>>>>         <!-- ===== Autenticacion ===== -->
>>>>>>>>>>>         <!-- Accion que muestra el formulario
de 
>>>>>>>>>>> autenticacion -->
>>>>>>>>>>>         <action name="ShowAuthentication"
>>>>>>>>>>>
>>>>>>>>>>> class="admintool.http.controller.actions.users.ShowAuthenticationAction

>>>>>>>>>>>
>>>>>>>>>>>         
>>>>>>>>> ">
>>>>>>>>>  
>>>>>>>>>>>             <interceptor-ref name="defaultInsecureStack"/>
>>>>>>>>>>>             <result type="tiles">.Login</result>
>>>>>>>>>>>         </action>
>>>>>>>>>>>
>>>>>>>>>>>         <!-- Ejecuta la accion de login. Si
hay fallos, 
>>>>>>>>>>> vuelve a la
>>>>>>>>>>> misma pagina -->
>>>>>>>>>>>         <action name="Login"
>>>>>>>>>>>
>>>>>>>>>>> class="admintool.http.controller.actions.users.LoginAction">
>>>>>>>>>>>             <interceptor-ref name="defaultInsecureStack"/>
>>>>>>>>>>>             <result name="input" type="tiles">.Login</result>
>>>>>>>>>>>         </action>
>>>>>>>>>>>
>>>>>>>>>>>         <!-- Cierra la sesion y vuelve a la
pagina de login  
>>>>>>>>>>> -->
>>>>>>>>>>>         <action name="Logout"
>>>>>>>>>>>
>>>>>>>>>>> class="admintool.http.controller.actions.users.LogoutAction">
>>>>>>>>>>>             <interceptor-ref name="defaultInsecureStack"/>
>>>>>>>>>>>         </action>
>>>>>>>>>>>
>>>>>>>>>>>         <!-- ===== Configuration ===== -->
>>>>>>>>>>>
>>>>>>>>>>>         <action name="CancelConfiguration">
>>>>>>>>>>>
>>>>>>>>>>>         
>>>>>>>>> <result>/HTML/tiles/configuration/ConnectionInfo.jspx</result>
>>>>>>>>>  
>>>>>>>>>>>         </action>
>>>>>>>>>>>
>>>>>>>>>>>         <action name="ShowChangePassword">
>>>>>>>>>>>
>>>>>>>>>>>         
>>>>>>>>> <result>/HTML/tiles/configuration/ChangePassword.jspx</result>
>>>>>>>>>  
>>>>>>>>>>>         </action>
>>>>>>>>>>>
>>>>>>>>>>>         <action name="ChangePassword"
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>         
>>>>>>>>>> class="
>>>>>>>>>>       
>>>>>>>>> admintool.http.controller.actions.configuration.ChangePasswordAction">

>>>>>>>>>
>>>>>>>>>  
>>>>>>>>>>>             <result
>>>>>>>>>>> name="input">/HTML/tiles/configuration/ChangePassword.jspx</result>

>>>>>>>>>>>
>>>>>>>>>>>         </action>
>>>>>>>>>>>
>>>>>>>>>>>         <action name="ShowChangeServer">
>>>>>>>>>>>
>>>>>>>>>>>         
>>>>>>>>> <result>/HTML/tiles/configuration/ChangeServer.jspx</result>
>>>>>>>>>  
>>>>>>>>>>>         </action>
>>>>>>>>>>>
>>>>>>>>>>>         <action name="ChangeServer"
>>>>>>>>>>>
>>>>>>>>>>> class="
>>>>>>>>>>>         
>>>>>>>>> admintool.http.controller.actions.configuration.ChangeServerAction">

>>>>>>>>>
>>>>>>>>>  
>>>>>>>>>>>             <result
>>>>>>>>>>> name="input">/HTML/tiles/configuration/ChangeServer.jspx</result>

>>>>>>>>>>>
>>>>>>>>>>>         </action>
>>>>>>>>>>>
>>>>>>>>>>>         <action name="ShowChangeRemotePort">
>>>>>>>>>>>
>>>>>>>>>>> <result>/HTML/tiles/configuration/ChangeRemotePort.jspx</result>

>>>>>>>>>>>
>>>>>>>>>>>         </action>
>>>>>>>>>>>
>>>>>>>>>>>         <action name="ChangeRemotePort"
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>         
>>>>>>>>>> class="
>>>>>>>>>>       
>>>>>>>>> admintool.http.controller.actions.configuration.ChangeRemotePortAction">

>>>>>>>>>
>>>>>>>>>  
>>>>>>>>>>>             <result
>>>>>>>>>>> name="input">/HTML/tiles/configuration/ChangeRemotePort.jspx</result>

>>>>>>>>>>>
>>>>>>>>>>>         </action>
>>>>>>>>>>>
>>>>>>>>>>>         <action name="ShowChangeMail">
>>>>>>>>>>>             
>>>>>>>>>>> <result>/HTML/tiles/configuration/ChangeMail.jspx</result>
>>>>>>>>>>>         </action>
>>>>>>>>>>>
>>>>>>>>>>>         <action name="ChangeMail"
>>>>>>>>>>>
>>>>>>>>>>> class="admintool.http.controller.actions.configuration.ChangeMailAction

>>>>>>>>>>>
>>>>>>>>>>>         
>>>>>>>>> ">
>>>>>>>>>  
>>>>>>>>>>>             <result
>>>>>>>>>>> name="input">/HTML/tiles/configuration/ChangeMail.jspx</result>
>>>>>>>>>>>         </action>
>>>>>>>>>>>
>>>>>>>>>>>         <action name="ShowChangeThreads">
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>         
>>>>>>>>>> === message truncated ===
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> ---------------------------------------------------------------------

>>>>>>>>>>
>>>>>>>>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>>>>>>>> For additional commands, e-mail: user-help@struts.apache.org
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>       
>>>>>>>>> ---------------------------------------------------------------------

>>>>>>>>>
>>>>>>>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>>>>>>> For additional commands, e-mail: user-help@struts.apache.org
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>     
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------

>>>>>>>
>>>>>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>>>>> For additional commands, e-mail: user-help@struts.apache.org
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------

>>>>>>
>>>>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>>>> For additional commands, e-mail: user-help@struts.apache.org
>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>>> For additional commands, e-mail: user-help@struts.apache.org
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>>> For additional commands, e-mail: user-help@struts.apache.org
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>>> For additional commands, e-mail: user-help@struts.apache.org
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>> For additional commands, e-mail: user-help@struts.apache.org
>>
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message