Error while calling webscript from dashlet?
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-24-2010 08:45 AM
Hi,
I have created a dashlet which will show top n content uploader.
Here is my dashlet jsp for the same as below .
kmContributions.jsp :
I am calling a java backed web script from this dashlet which returns me all the top n contributors in html as below .
But i am getting error on my browser as below but no error on server console. :?
I am wondering what is going wrong here.Is it a redirection issue or JSF issue or anything else. :?:
Any help will be highly appreciated.
I have created a dashlet which will show top n content uploader.
Here is my dashlet jsp for the same as below .
kmContributions.jsp :
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> <%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %><%@ page import="com.xxxx.alfresco.km.webscripts.WebScriptInvoker"%><%@ page import="com.xxxx.alfresco.km.webscripts.WebScriptCall"%> <%@ page import="java.lang.Integer"%> <f:verbatim><FORM id="1" NAME="myform" ACTION="/jsp/extension/dashlets/kmContributions.jsp" METHOD="POST"> <p> Number of KM Contributors : <select id="2" name="number"> <option value="Select">Select</option> <option value="5">5</option> <option value="10">10</option> <option value="15">15</option> <option value="20">20</option> <option value="25">25</option> </select> <p> Location for Search : <select id="3" name="location"> <option value="Select">Select</option> <option value="all">All</option> <option value="xx">xx</option> <option value="xx2">xx2</option> </select> <p> <INPUT id="4" TYPE="submit" NAME="Search" Value="Search" "></FORM></f:verbatim><%! String number = null; %><%! String location = null; %><%! String link = null; %><% number = (String)request.getParameter("number"); System.out.println("Top KM Contributors in kmContributions.jsp : "+ number); location = (String)request.getParameter("location"); System.out.println("Location in kmContributions.jsp "+location); if(number == null || location == null || number.equalsIgnoreCase("Select") || location.equalsIgnoreCase("Select")){ //Do Nothing System.out.println("Invalid Value"); }else{ // Call Webscript System.out.println("valid Value"); link = "/wcs/com/xxxx/km/gettopcontributors?number="+number+"&location="+location; System.out.println("Web Script URL Value : "+link); %> <r:webScript scriptUrl="<%=link%>" /> <%}%>
I am calling a java backed web script from this dashlet which returns me all the top n contributors in html as below .
res.setContentType("text/html "); finalOutput +="<f:verbatim>"; finalOutput += "<b>Top "+ num +" KM Contributors in xxxx KM Space for " +location+" location(s) are :</b> <br><br>"; finalOutput += "<html>"+ "<body>"+ "<table border=1>"+ "<tr>"+ "<th>"+ "User Id"+ "</th>"+ "<th>"+ "Total Content "+ "</th>"+ "</tr>"; for(int k = 0; k < cnt ; k++){ finalOutput += "<tr><td align=left>"; finalOutput += finalKeyList.get(k).toString(); finalOutput +="</td><td align=left>"; finalOutput += finalValueList.get(k).toString(); finalOutput += "</td></tr>"; } finalOutput += "</table></body></html>"; finalOutput +="</f:verbatim>"; logger.debug("finalOutput : "+finalOutput); res.getWriter().write(finalOutput);
But i am getting error on my browser as below but no error on server console. :?
HTTP Status 500 -type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionjavax.faces.FacesException: java.lang.IllegalStateException: Client-id : _idJsp19 is duplicated in the faces tree. Component : dashboard:dash-body:dashlet-3-view:_idJsp19, path: {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /jsp/dashboards/container.jsp][Class: javax.faces.component.html.HtmlForm,Id: dashboard][Class: javax.faces.component.UINamingContainer,Id: dash-body][Class: javax.faces.component.html.HtmlPanelGrid,Id: _idJsp12][Class: org.alfresco.web.ui.common.component.UIPanel,Id: dashlet-3][Class: javax.faces.component.UINamingContainer,Id: dashlet-3-view][Class: org.alfresco.web.ui.common.component.data.UIRichList,Id: pooled-tasks-list][Class: org.alfresco.web.ui.common.component.data.UIColumn,Id: col1][Class: org.alfresco.web.ui.common.component.UIActionLink,Id: col1-act2][Class: javax.faces.component.UIParameter,Id: _idJsp19]} org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:425) org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211) org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41) org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132) javax.faces.webapp.FacesServlet.service(FacesServlet.java:140) org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:110) sun.reflect.GeneratedMethodAccessor498.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:122) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy210.doFilter(Unknown Source) org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:88) org.alfresco.repo.web.filter.beans.NullFilter.doFilter(NullFilter.java:74) sun.reflect.GeneratedMethodAccessor498.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:122) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy210.doFilter(Unknown Source) org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:88)root causeorg.apache.jasper.JasperException: java.lang.IllegalStateException: Client-id : _idJsp19 is duplicated in the faces tree. Component : dashboard:dash-body:dashlet-3-view:_idJsp19, path: {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /jsp/dashboards/container.jsp][Class: javax.faces.component.html.HtmlForm,Id: dashboard][Class: javax.faces.component.UINamingContainer,Id: dash-body][Class: javax.faces.component.html.HtmlPanelGrid,Id: _idJsp12][Class: org.alfresco.web.ui.common.component.UIPanel,Id: dashlet-3][Class: javax.faces.component.UINamingContainer,Id: dashlet-3-view][Class: org.alfresco.web.ui.common.component.data.UIRichList,Id: pooled-tasks-list][Class: org.alfresco.web.ui.common.component.data.UIColumn,Id: col1][Class: org.alfresco.web.ui.common.component.UIActionLink,Id: col1-act2][Class: javax.faces.component.UIParameter,Id: _idJsp19]} org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:410) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:419) org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211) org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41) org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132) javax.faces.webapp.FacesServlet.service(FacesServlet.java:140) org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:110) sun.reflect.GeneratedMethodAccessor498.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:122) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy210.doFilter(Unknown Source) org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:88) org.alfresco.repo.web.filter.beans.NullFilter.doFilter(NullFilter.java:74) sun.reflect.GeneratedMethodAccessor498.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:122) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy210.doFilter(Unknown Source) org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:88)root causejava.lang.IllegalStateException: Client-id : _idJsp19 is duplicated in the faces tree. Component : dashboard:dash-body:dashlet-3-view:_idJsp19, path: {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /jsp/dashboards/container.jsp][Class: javax.faces.component.html.HtmlForm,Id: dashboard][Class: javax.faces.component.UINamingContainer,Id: dash-body][Class: javax.faces.component.html.HtmlPanelGrid,Id: _idJsp12][Class: org.alfresco.web.ui.common.component.UIPanel,Id: dashlet-3][Class: javax.faces.component.UINamingContainer,Id: dashlet-3-view][Class: org.alfresco.web.ui.common.component.data.UIRichList,Id: pooled-tasks-list][Class: org.alfresco.web.ui.common.component.data.UIColumn,Id: col1][Class: org.alfresco.web.ui.common.component.UIActionLink,Id: col1-act2][Class: javax.faces.component.UIParameter,Id: _idJsp19]} org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:329) org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:341) org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:341) org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:341) org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:338) org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:341) org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:341) org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:338) org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:338) org.apache.myfaces.application.jsp.JspStateManagerImpl.checkForDuplicateIds(JspStateManagerImpl.java:341) org.apache.myfaces.application.jsp.JspStateManagerImpl.saveSerializedView(JspStateManagerImpl.java:286) org.apache.myfaces.taglib.core.ViewTag.doAfterBody(ViewTag.java:125) org.apache.jsp.jsp.dashboards.container_jsp._jspService(container_jsp.java:540) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:419) org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211) org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41) org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132) javax.faces.webapp.FacesServlet.service(FacesServlet.java:140) org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:110) sun.reflect.GeneratedMethodAccessor498.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:122) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy210.doFilter(Unknown Source) org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:88) org.alfresco.repo.web.filter.beans.NullFilter.doFilter(NullFilter.java:74) sun.reflect.GeneratedMethodAccessor498.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:122) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) $Proxy210.doFilter(Unknown Source) org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:88)
I am wondering what is going wrong here.Is it a redirection issue or JSF issue or anything else. :?:
Any help will be highly appreciated.
Labels:
- Labels:
-
Archive
3 REPLIES 3
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-25-2010 08:14 AM
Hi All,
Strange is the thing that if i remove all dashlets except my custom dashlet, then it is working fine without any error on browser & i can see html output on my dashlet?
ops:
But i want all dashlets to be present on dashboard.
Any help/idea/suggestion? :idea:
Thanks in Advance.
Strange is the thing that if i remove all dashlets except my custom dashlet, then it is working fine without any error on browser & i can see html output on my dashlet?

But i want all dashlets to be present on dashboard.
Any help/idea/suggestion? :idea:
Thanks in Advance.
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-29-2010 03:10 AM
Hi Again,
On investigation i found the issue is due to intermingling of <f:verbatim> tags inside dashboard.
So I found a kinda workaround for it by forwarding to another page once results are got in jsp. :arrow:
topKmContributorSearch.jsp
Now ,I am invoking webscript using WebScriptInvoker.java in jsp.
Now if i have some valid results in my jsp, i am redirecting to another jsp using code as below:
But still user can not see results on same page which is my original intention. :roll:
If anybody knows a way to fix it,please let me know. :idea:
Thanks in advance.
On investigation i found the issue is due to intermingling of <f:verbatim> tags inside dashboard.

So I found a kinda workaround for it by forwarding to another page once results are got in jsp. :arrow:
topKmContributorSearch.jsp
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %><%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %><%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %><%@ page import="com.xxxx.alfresco.km.webscripts.WebScriptInvoker"%><%@ page import="com.xxxx.alfresco.km.webscripts.WebScriptCall"%> <%@ page import="java.lang.Integer"%> <%@ page import="com.xxxx.alfresco.km.property.KmPropertyReader"%> <%– JSP to get top KM content contributors in xxxx KM Sapce–%><f:verbatim><FORM id="form1" NAME="myform" ACTION="/jsp/extension/dashlets/topKmContributorSearch.jsp" METHOD="POST"> Number of KM Contributors : <select id="number" name="number"> <option id="number1" value="Select">Select</option> <option id="number2" value="5">5</option> <option id="number3" value="10">10</option> <option id="number4" value="15">15</option> <option id="number5" value="20">20</option> <option id="number6" value="25">25</option> </select> <p> Contributors' Location for Search : <select id="location" name="location"> <option id="location1" value="Select">Select</option> <option id="location2" value="all">All</option> <option id="location3" value="x">x</option> <option id="location4" value="xx">xx</option> <option id="location5" value="xxx">xxx</option> </select> <p> <INPUT id="4" TYPE="submit" NAME="Search" Value="Search Contributors"></FORM></f:verbatim><%! String number = null; %><%! String location = null; %><%! String result = null; %><% number = (String)request.getParameter("number"); System.out.println("Top KM Contributors in kmContributions.jsp : "+ number); location = (String)request.getParameter("location"); System.out.println("Location in kmContributions.jsp "+location); if(number == null || location == null || number.equalsIgnoreCase("Select") || location.equalsIgnoreCase("Select")){ //Do Nothing System.out.println("Invalid Value"); }else{ // Call Webscript System.out.println("valid Value"); KmPropertyReader kmPropertyReader = new KmPropertyReader(); String adminUserName = kmPropertyReader.getProperty("admin.username"); System.out.println("adminUserName : "+adminUserName); String adminUserPwd = kmPropertyReader.getProperty("admin.password"); System.out.println("adminUserPwd : "+adminUserPwd); String webScriptUrl = kmPropertyReader.getProperty("topkmconrtibutors.webscripturl"); //System.out.println("webScriptUrl : "+webScriptUrl); String fullWebScriptUrl = webScriptUrl+number+"&location="+location; System.out.println("Web Script URL Value in jsp : "+fullWebScriptUrl); WebScriptInvoker invoker = new WebScriptInvoker(); result = invoker.doWork(adminUserName, adminUserPwd, "GET", fullWebScriptUrl); //System.out.println("result in jsp!!: "+result); request.setAttribute("result",result);%> <f:verbatim > <jsp:forward page="/jsp/extension/dashlets/topKmContributorSearchResults.jsp"/> </f:verbatim> <% number = null; location = null; }%>
Now ,I am invoking webscript using WebScriptInvoker.java in jsp.
package com.xxxx.alfresco.km.webscripts;import java.io.BufferedReader;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URI;import java.net.URL;import javax.faces.context.FacesContext;import org.alfresco.model.ContentModel;import org.alfresco.service.cmr.repository.NodeRef;import org.alfresco.service.cmr.repository.NodeService;import org.alfresco.service.cmr.security.PersonService;import org.alfresco.util.Base64;import org.alfresco.web.app.servlet.FacesHelper;import org.alfresco.web.bean.NavigationBean;import org.alfresco.web.bean.repository.Repository;import org.alfresco.webservice.util.AuthenticationUtils;import org.apache.log4j.Logger;public class WebScriptInvoker { private static Logger logger = Logger.getLogger(WebScriptInvoker.class); //private static final String USAGE = "java WebScriptInvoker <username> <password> <HTTP method> <web script URL>"; private static NodeService nodeService; private static PersonService personService; private String user; private String password; private String scriptUrlString; private String method; private String ticket; private String usrName; public String doWork(String userName, String password, String method, String webScriptURL) { logger.debug("Inside doWork !!! : userName "+userName+" password "+password+" method "+method+" scriptURL "+webScriptURL); //String userPwd = getUserPassword(); //logger.debug("userPwd here !!! : "+userPwd); //System.out.println("userPwd !!! : "+userPwd); String result; setUser(userName); setPassword(password); setMethod(method); setScriptUrl(webScriptURL); logger.debug("userName !!!"+getUser()+" password "+getPassword()+" method "+getMethod()+" scriptURL "+getScriptUrl()); HttpURLConnection conn = null; try { AuthenticationUtils.startSession(getUser(), getPassword()); setTicket(AuthenticationUtils.getTicket()); URL scriptUrl = (new URI(getScriptUrl())).toURL(); logger.debug("Invoking Web Script : " + scriptUrl); conn = (HttpURLConnection)scriptUrl.openConnection(); conn.setRequestMethod(getMethod()); conn.setRequestProperty("Authorization", "Basic " + Base64.encodeBytes((getTicket()).getBytes())); //3.0 and later can do HTTP method tunneling conn.connect(); logger.debug("Response code: " + conn.getResponseCode()); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8")); StringBuffer buffer = new StringBuffer(); String line; while ((line = in.readLine()) != null) { buffer.append(line); } logger.debug("Web Script Output in doWork() "+buffer.toString()); result = buffer.toString(); } catch (Exception serviceException) { logger.error("Exception while invoking web script "+serviceException.getMessage()); throw new RuntimeException("Problem invoking web script", serviceException); } finally { // End the session AuthenticationUtils.endSession(); if (conn != null) conn.disconnect(); } // logger.debug("12"); return result; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } public String getMethod() { return method; } public void setMethod(String method) { this.method = method; } public String getScriptUrl() { return scriptUrlString; } public void setScriptUrl(String scriptUrl) { this.scriptUrlString = scriptUrl; } public String getTicket() { return ticket; } public void setTicket(String ticket) { this.ticket = ticket; } public static NodeService getNodeService() { return nodeService; } public static void setNodeService(NodeService nodeService) { WebScriptInvoker.nodeService = nodeService; } public static PersonService getPersonService() { return personService; } public static void setPersonService(PersonService personService) { WebScriptInvoker.personService = personService; }}
Now if i have some valid results in my jsp, i am redirecting to another jsp using code as below:
<f:verbatim >
<jsp:forward page="/jsp/extension/dashlets/topKmContributorSearchResults.jsp"/>
</f:verbatim>
But still user can not see results on same page which is my original intention. :roll:
If anybody knows a way to fix it,please let me know. :idea:
Thanks in advance.
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-04-2010 07:31 PM
I had a similar problem using <r:webscript> in user management page (/jsp/users/users.jsp). There are no errors on console neither on page, but the html content of webscript was not loaded. I had opened a issue for that but I already change the code as you can see here. My change was to call my webscript using ajax.
In users.jsp, include the javascripts to ajax handling and add a div or other object that will contain the content of webscript:
The code of webscript.ajax.js was shown here:
In users.jsp, include the javascripts to ajax handling and add a div or other object that will contain the content of webscript:
<script type="text/javascript" src="<%=request.getContextPath()%>/scripts/ajax/yahoo/yahoo/yahoo-min.js"> </script><script type="text/javascript" src="<%=request.getContextPath()%>/scripts/ajax/yahoo/connection/connection-min.js"> </script><script type="text/javascript" src="<%=request.getContextPath()%>/scripts/ajax/common.js"> </script><script type="text/javascript" src="<%=request.getContextPath()%>/scripts/webscript.ajax.js"> </script>//DIV will be replaced by the static content of webscript<div id="content_will_replaceme" />
The code of webscript.ajax.js was shown here:
function printResult(response){ var z = document.getElementById("content_will_replaceme"); z.outerHTML=response.responseText;}function loadDefaults(){ var z = document.getElementsById("content_will_replaceme"); z.innerHTML="<img src='"+getContextPath()+"/images/icons/ajax_anim.gif'/>"; YAHOO.util.Connect.asyncRequest("GET", getContextPath() + "/wcs/myScript", { success: printResult, failure: printResult }, null);}if (window.addEventListener) { //Mozila window.addEventListener('load', loadDefaults, false); } else if (window.attachEvent) { //IE window.attachEvent('onload', loadDefaults);}
