Foren

serveResource()

Mohammad Haji Rajab Ali, geändert vor 11 Jahren.

serveResource()

New Member Beiträge: 7 Beitrittsdatum: 10.09.11 Neueste Beiträge
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, geändert vor 11 Jahren.

RE: serveResource()

Regular Member Beiträge: 171 Beitrittsdatum: 24.06.10 Neueste Beiträge
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, geändert vor 11 Jahren.

RE: serveResource()

Liferay Legend Beiträge: 1302 Beitrittsdatum: 24.06.09 Neueste Beiträge
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, geändert vor 11 Jahren.

RE: serveResource()

Regular Member Beiträge: 111 Beitrittsdatum: 17.02.12 Neueste Beiträge
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, geändert vor 11 Jahren.

RE: serveResource()

Liferay Master Beiträge: 501 Beitrittsdatum: 20.12.11 Neueste Beiträge
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, geändert vor 11 Jahren.

RE: serveResource()

Regular Member Beiträge: 111 Beitrittsdatum: 17.02.12 Neueste Beiträge
Then how to go next .jsp page..from serveResource()

Like in processAction()..we use actionResponse.setRenderParameter("jspPage","/result.jsp");emoticon
Hussain Shaikh, geändert vor 11 Jahren.

RE: serveResource()

Junior Member Beiträge: 44 Beitrittsdatum: 07.06.12 Neueste Beiträge
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, geändert vor 11 Jahren.

RE: serveResource()

Regular Member Beiträge: 137 Beitrittsdatum: 06.04.11 Neueste Beiträge

$.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, geändert vor 11 Jahren.

RE: serveResource()

Liferay Legend Beiträge: 14916 Beitrittsdatum: 02.09.06 Neueste Beiträge
$ 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, geändert vor 11 Jahren.

RE: serveResource()

Expert Beiträge: 289 Beitrittsdatum: 20.05.12 Neueste Beiträge
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, geändert vor 11 Jahren.

RE: serveResource()

Regular Member Beiträge: 114 Beitrittsdatum: 22.04.12 Neueste Beiträge
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>