Foros de discusión

serveResource()

Mohammad Haji Rajab Ali, modificado hace 11 años.

serveResource()

New Member Mensajes: 7 Fecha de incorporación: 10/09/11 Mensajes recientes
Hi,
I have wrote a portlet and use serveResource() for convert text to speech,
but i can not send text by document.getElementById().value in value at tag
onClick="location.href = '<portlet:resourceURL><portlet:param name="msg" value="<script languege=javascript>document.getElementById("msg").value;<script/>" /></portlet:resourceURL>'"
please help how can i send textbox.text to value of tag serveResource.
thumbnail
Hitesh Methani, modificado hace 11 años.

RE: serveResource()

Regular Member Mensajes: 171 Fecha de incorporación: 24/06/10 Mensajes recientes
Hi Mohammad,

Try putting the required text box in form, and submit the form onClick with resourceURL, this will pass the msg as request param.

Thanks and Regards,
Hitesh Methani
thumbnail
Ravi Kumar Gupta, modificado hace 11 años.

RE: serveResource()

Liferay Legend Mensajes: 1302 Fecha de incorporación: 24/06/09 Mensajes recientes
Mohammad, What you are trying is incorrect. You are trying to pass a javascript value to java before it is generated. Instead, call a javascript function on click. Construct the url(without the msg param). You should be using ajax for calling serveresource() method. So, send that msg param with Ajax parameters. like this..
$.post(url,{msg:"my masage"},function(data){

});

HTH
thumbnail
sheela mk, modificado hace 11 años.

RE: serveResource()

Regular Member Mensajes: 111 Fecha de incorporación: 17/02/12 Mensajes recientes
Hai..Pls..Let me know how to dispatch from serveResource() method to jsp Page..


getPortletConfig().getPortletContext().getRequestDispatcher(
response.encodeURL("//view.jsp")).include(request, response);

Whats wrong using above line..I do get view.jsp page content on White Screen..Pls Let me know..Whats wrong...
thumbnail
Priyanka Dhingra, modificado hace 11 años.

RE: serveResource()

Liferay Master Mensajes: 501 Fecha de incorporación: 20/12/11 Mensajes recientes
Hi sheela,
resourceResponse.setContentType("application/json");
		resourceResponse.setCharacterEncoding("UTF-8");
		resourceResponse.getWriter().write(jsonFeed.toString());

you can use this.
and you can put your data like
JSONObject jsonFeed = JSONFactoryUtil.createJSONObject();
jsonFeed.put("data", keyValues);
thumbnail
sheela mk, modificado hace 11 años.

RE: serveResource()

Regular Member Mensajes: 111 Fecha de incorporación: 17/02/12 Mensajes recientes
Then how to go next .jsp page..from serveResource()

Like in processAction()..we use actionResponse.setRenderParameter("jspPage","/result.jsp");emoticon
Hussain Shaikh, modificado hace 11 años.

RE: serveResource()

Junior Member Mensajes: 44 Fecha de incorporación: 7/06/12 Mensajes recientes
Hi,
You don't go to a different page using serverResource(). It is basically ajax call to refresh a portion of your jsp page.
you create a resource url first, in your jsp page like this
<portlet:resourceURL var="variable1" id="identification1" escapeXml="false" />

write ajax function,
ajax.request({
url:"${variable1}",
param:{
param1:"hi"
},
success:function(response){
alert("hi");
}

in your controller if your portlet is spring mvc
@ResourceMapping(value="identification1")
// your method here

you can open your response in a new window using anchor tag,
<a target="_blank" href="${variable1}"
you don't need to write ajax function in this case.

hope it helps
Thanks
Ranen Das, modificado hace 11 años.

RE: serveResource()

Regular Member Mensajes: 137 Fecha de incorporación: 6/04/11 Mensajes recientes

$.post(url,{msg:"my masage"},function(data){

});


Question to Mr Ravi Kumar Gupta - DOES LIFERAY SUPPORT '$', what I know it does not - one has to use like this 'jQuery.post(url,,)' - can you explain '$' ??
thumbnail
David H Nebinger, modificado hace 11 años.

RE: serveResource()

Liferay Legend Mensajes: 14915 Fecha de incorporación: 2/09/06 Mensajes recientes
$ was (is) a shortcut for jQuery, but you should not use the $ as I believe 6.x has it as a shortcut for AUI...

Stay away from the $ as it will just make your life difficult.
thumbnail
Vishal Panchal, modificado hace 11 años.

RE: serveResource()

Expert Mensajes: 289 Fecha de incorporación: 20/05/12 Mensajes recientes
David H Nebinger:
$ was (is) a shortcut for jQuery, but you should not use the $ as I believe 6.x has it as a shortcut for AUI...

Stay away from the $ as it will just make your life difficult.


Hi David,

you are right , some days ago I had a same problem with "$" but after that instead of using "$" I put "jQuery" and it works.!


Thanks&Regards,
Vishal R. Panchal
sangeeth k, modificado hace 11 años.

RE: serveResource()

Regular Member Mensajes: 114 Fecha de incorporación: 22/04/12 Mensajes recientes
HI team,

I am facing issue including jsp page using serveResource(),

my scenario I have 3 tabs with images onclick of each tab i am including jsp page..

I am not using liferay tabs....using jquery tabs:

so


<portlet:resourceurl var="fetchJsp">

    <portlet:param name="fetchJsp" value="/html/vital/single.jsp" />

</portlet:resourceurl>

[b]IN action file:[/b]

	public void serveResource(ResourceRequest resourceRequest,
			ResourceResponse resourceResponse) throws IOException,
			PortletException {
		 String jspPage = resourceRequest.getParameter("fetchJsp");
		    System.out.println("jspPage==&gt;"+jspPage);
		    if (jspPage != null) {

		    	include(jspPage, resourceRequest, resourceResponse, PortletRequest.RESOURCE_PHASE);
		    	
		       
		    }
		    else {
		        super.serveResource(resourceRequest, resourceResponse);
		    }		
		
	}
In jsp page:


<div class="result"></div>
  
    
<script>
    
    function ajaxcallTofetchpage()
    {
		
       $.ajax({
           type: "GET",
           url: "<%= fetchJsp %>",
          
           success: function(msg){
        	//   alert(msg);
        	   $('.result').html(msg);
           }
         });
    }
</script>