cancel
Showing results for 
Search instead for 
Did you mean: 

Creating your own action handler, jsp error

toltech
Champ in-the-making
Champ in-the-making
Hello,
I am trying to create my own action, slowly I am pushing myself through the whole procedure. I have used the MoveActionHandler and also the "move.jsp" and renamed some items into my own names. It now looks all relevant jars, classes, properties etc are being found. However when I run the action I get following message:

javax.faces.FacesException: /jsp/extension/actions/move-replaced.jsp(116,39) No tag "ajaxFolderSelector" defined in tag library imported with prefix "r"
caused by:
org.apache.jasper.JasperException: /jsp/extension/actions/move-replaced.jsp(116,39) No tag "ajaxFolderSelector" defined in tag library imported with prefix "r"

This is exactly the part which takes care of selecting a destination folder and the line in the jsp file is following:

<r:ajaxFolderSelector id="spaceSelector" label="#{msg.select_destination_prompt}"
                                                             value="#{WizardManager.bean.actionProperties.destinationLocation}"
                                                             initialSelection="#{NavigationBean.currentNode.nodeRefAsString}"
                                                             styleClass="selector" />

When I delete this line, no error message, also no folder selector.

strange enough the following file is imported in the jsp page:
<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
and repo.tld contains the ajacFolderSelector

So I am missing some definition or include. I did not change the move.jsp file, except for the title.
Any ideas?

regards,
Robert
6 REPLIES 6

toltech
Champ in-the-making
Champ in-the-making
I figured it out. I messed up my class path so I picked up an old instance of my Handler.
gr.
Robert

dranakan
Champ on-the-rise
Champ on-the-rise
Hello Toltech,

I try to allow to an action to receive a directory (like you). But, when I click on "Set Values and Add", "Click here to select the destination", (there the tree appear) and I click on the green plus icon (plus.gif) I am redirecting to my page jsp (http://10.10.10.56:8080/alfresco/faces/WEB-INF/classes/alfresco/module/syslog/ui/jsp/actions/actionC... and a error message appear).

Do you know what do I check ?

thanks

dranakan
Champ on-the-rise
Champ on-the-rise
I try to allow to an action to receive a directory (like you). But, when I click on "Set Values and Add", "Click here to select the destination", (there the tree appear) and I click on the green plus icon (plus.gif) I am redirecting to my page jsp (http://10.10.10.56:8080/alfresco/faces/ … Custom.jsp and a error message appear).
I give more information on my problem :

Error message after clicking on the green plus icon (plus.gif)
Etat HTTP 404 - ——————————————————————————–type Rapport d'�tatmessage description La ressource demand�e () n'est pas disponible.——————————————————————————–Apache Tomcat/6.0.18‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍


Jsp page :
<%–* Copyright (C) 2005-2007 Alfresco Software Limited.* This program is free software; you can redistribute it and/or* modify it under the terms of the GNU General Public License* as published by the Free Software Foundation; either version 2* of the License, or (at your option) any later version.* This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the* GNU General Public License for more details.* You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.* As a special exception to the terms and conditions of version 2.0 of* the GPL, you may redistribute this Program in connection with Free/Libre* and Open Source Software ("FLOSS") applications as described in Alfresco's* FLOSS exception.  You should have recieved a copy of the text describing* the FLOSS exception, and it is also available here:* http://www.alfresco.com/legal/licensing"–%><%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%><%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a"%><%@ taglib uri="/WEB-INF/repo.tld" prefix="r"%><%@ page buffer="32kb" contentType="text/html;charset=UTF-8"%><%@ page isELIgnored="false"%><%@ page import="org.alfresco.web.ui.common.PanelGenerator"%><r:page titleId="title_action_SplittPDFFromERP">   <f:view>      <%– load a bundle of properties with I18N strings –%>      <f:loadBundle basename="alfresco.messages.webclient" var="msg" />      <h:form acceptcharset="UTF-8" id="move-action">         <%– Main outer table –%>         <table cellspacing="0" cellpadding="2">            <%– Title bar –%>            <tr>               <td colspan="2"><%@ include file="/jsp/parts/titlebar.jsp"%>               </td>            </tr>            <%– Main area –%>            <tr valign="top">               <%– Shelf –%>               <td><%@ include file="/jsp/parts/shelf.jsp"%>               </td>               <%– Work Area –%>               <td width="100%">               <table cellspacing="0" cellpadding="0" width="100%">                  <%– Breadcrumb –%>                  <%@ include file="/jsp/parts/breadcrumb.jsp"%>                  <%– Status and Actions –%>                  <tr>                     <td                        style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_4.gif)"                        width="4"></td>                     <td bgcolor="#dfe6ed"><%– Status and Actions inner contents table –%>                     <%– Generally this consists of an icon, textual summary and actions for the current object –%>                     <table cellspacing="4" cellpadding="0" width="100%">                        <tr>                           <td width="32"><h:graphicImage id="wizard-logo"                              url="/images/icons/new_rule_large.gif" /></td>                           <td>                           <div class="mainTitle"><h:outputText                              value="#{WizardManager.title}" /></div>                           <div class="mainSubText"><h:outputText                              value="#{WizardManager.description}" /></div>                           </td>                        </tr>                     </table>                     </td>                     <td                        style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_6.gif)"                        width="4"></td>                  </tr>                  <%– separator row with gradient shadow –%>                  <tr>                     <td><img                        src="<%=request.getContextPath()%>/images/parts/statuspanel_7.gif"                        width="4" height="9"></td>                     <td                        style="background-image: url(<%=request.getContextPath()%>/images/parts/statuspanel_8.gif)"></td>                     <td><img                        src="<%=request.getContextPath()%>/images/parts/statuspanel_9.gif"                        width="4" height="9"></td>                  </tr>                  <%– Details –%>                  <tr valign=top>                     <td                        style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_4.gif)"                        width="4"></td>                     <td>                     <table cellspacing="0" cellpadding="3" border="0" width="100%">                        <tr>                           <td width="100%" valign="top"><a:errors                              message="#{msg.error_wizard}" styleClass="errorMessage" /> <%    PanelGenerator.generatePanelStart(out, request                   .getContextPath(), "white", "white"); %>                           <table cellpadding="2" cellspacing="2" border="0" width="100%">                              <tr>                                 <td colspan="2" class="mainSubTitle"><h:outputText                                    value="#{msg.set_action_values}" /></td>                              </tr>                              <tr>                                 <td class="paddingRow"></td>                              </tr>                              <tr>                                 <td><h:outputText value="#{msg.destination}" />:</td>                                 <td width="90%"><r:ajaxFolderSelector id="spaceSelector"                                    label="#{msg.select_destination_prompt}"                                    value="#{WizardManager.bean.actionProperties.destinationLocation}"                                    initialSelection="#{NavigationBean.currentNode.nodeRefAsString}"                                    styleClass="selector" /></td>                              </tr>                              <tr>                                 <td class="paddingRow"></td>                              </tr>                           </table>                           <%                              PanelGenerator.generatePanelEnd(out, request                                             .getContextPath(), "white");                           %>                           </td>                           <td valign="top">                           <%                              PanelGenerator.generatePanelStart(out, request                                             .getContextPath(), "greyround", "#F5F5F5");                           %>                           <table cellpadding="1" cellspacing="1" border="0">                              <tr>                                 <td align="center"><h:commandButton value="#{msg.ok}"                                    action="#{WizardManager.bean.addAction}"                                    styleClass="wizardButton"                                    disabled="#{WizardManager.bean.actionProperties.destinationLocation == null}" />                                 </td>                              </tr>                              <tr>                                 <td align="center"><h:commandButton                                    value="#{msg.cancel_button}"                                    action="#{WizardManager.bean.cancelAddAction}"                                    styleClass="wizardButton" /></td>                              </tr>                           </table>                           <%                              PanelGenerator.generatePanelEnd(out, request                                             .getContextPath(), "greyround");                           %>                           </td>                        </tr>                     </table>                     </td>                     <td                        style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_6.gif)"                        width="4"></td>                  </tr>                  <%– separator row with bottom panel graphics –%>                  <tr>                     <td><img                        src="<%=request.getContextPath()%>/images/parts/whitepanel_7.gif"                        width="4" height="4"></td>                     <td width="100%" align="center"                        style="background-image: url(<%=request.getContextPath()%>/images/parts/whitepanel_8.gif)"></td>                     <td><img                        src="<%=request.getContextPath()%>/images/parts/whitepanel_9.gif"                        width="4" height="4"></td>                  </tr>               </table>               </td>            </tr>         </table>      </h:form>   </f:view></r:page>‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍
It doesn't find something but I don't know what…

Someone an idea ?

dranakan
Champ on-the-rise
Champ on-the-rise
I have found the source of my problem…

The JSP need to be in "/jsp/extension/actions/". I have changed this place to have my own struture in my module but the ajax script cannot come back.

This work :
public class MoveReplacedHandler extends BaseActionHandler {   private static final long serialVersionUID = 1L;   public final static String CUSTOM_ACTION_JSP = "/jsp/extension/actions/" + MoveReplacedActionExecuter.NAME + ".jsp";…‍‍‍‍‍

But, can some tell me how can I put it in a module ?

I would like to put my jsp in
>config   >alfresco      >module         >mymodule            >ui               >jsp                  >actions                     HERE>source‍‍‍‍‍‍‍‍‍
But the ajax can not come back on the JSP. I have try to put in "/WEB-INF/classes/alfresco/jsp/extension/actions/" but it's doesn't work. The ajax spaceselector just accept the path : "/jsp/extension/actions/" and I can't put files in this place using a module (it access to /WEB-INF/classes/alfresco/).

Can I set the ajax spaceselector to be able to work with jsp in a another place than "/jsp/extension/actions/" ?

Thanks

dranakan
Champ on-the-rise
Champ on-the-rise
I resume my last post…

How can I set the path to a JSP in an actionHandler when the application is in a module (and it's is not possible to put the JSP in /jsp/extension/actions/) ?

(when JSP is in /jsp/extension/actions/ the ajax tool to select works, but when the JSP is in another place, the ajax tool to select redirect to a wrong place after having clicking on add).

Thx

dranakan
Champ on-the-rise
Champ on-the-rise
How can I set the path to a JSP in an actionHandler when the application is in a module (and it's is not possible to put the JSP in /jsp/extension/actions/) ?
Solution here -> http://forums.alfresco.com/en/viewtopic.php?f=10&t=18748&p=61555#p61555