liferay 调用ajax

1 首先是view.jsp代码 

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<%@page contentType="text/html; charset=UTF-8" %>
<portlet:defineObjects />


<%
	String rootPath = renderRequest.getContextPath();
%>
<script type="text/javascript" src="<%=rootPath%>/js/jQuery/jquery-2.1.1.js"></script>



This is the <b>Ajax Learn</b> portlet in View mode.




<portlet:resourceURL var="ajaxUrl1" id="test1"/>
<portlet:resourceURL var="ajaxUrl2" id="test2"/>

<script type="text/javascript">
	function ajaxTest(){
		$.post('<%=ajaxUrl1%>',{p_p_resource_id:'test1'},function(data){
			$('#message').html(data);
		})
	}
	function ajaxTest2(){
		$.post('<%=ajaxUrl2%>',function(data){
			$('#message').html(data);
		})
	}
</script>

<div>
	这是Ajax测试,从点击下面的按钮从服务端获取数据。</br>
	<input type="button" value="ajax请求1" onclick="ajaxTest();">
	<input type="button" value="ajax请求2" onclick="ajaxTest2();">
	<div id="message"></div>
</div>


2后台处理ajax请求代码,后台返回 类似     “ 这是服务端返回的结果信息test1" 的字符串 ,view.jsp进行显示


package com.test;

import java.io.IOException;
import java.io.PrintWriter;

import javax.portlet.PortletException;
import javax.portlet.ResourceRequest;
import javax.portlet.ResourceResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.liferay.portal.util.PortalUtil;
import com.liferay.util.bridges.mvc.MVCPortlet;

/**
 * Portlet implementation class AjaxLearn
 */
public class AjaxLearn extends MVCPortlet {

	@Override
	public void serveResource(ResourceRequest resourceRequest,
			ResourceResponse resourceResponse) throws IOException,
			PortletException {
		String resourceID  = 	resourceRequest.getResourceID();
		 HttpServletRequest request = PortalUtil.getHttpServletRequest(resourceRequest);
		 HttpServletResponse response =  PortalUtil.getHttpServletResponse(resourceResponse);
		 
	 	response.setContentType("text/html;charset=UTF-8");
		 PrintWriter out = null;
		 try {
		 out = response.getWriter();
		 } catch (IOException e) {
		 e.printStackTrace();
		 }
		 String result = "这是服务端返回的结果信息:";
		 
		 if("test1".equals(resourceID)){
			 
			 result = result + "test1";
		 }
		 else if("test2".equals(resourceID)){
			 result = result + "test2";
			 
		 }	 
			 
			 
		 out.println(result);
		 out.flush();
		 out.close();
		
		
		super.serveResource(resourceRequest, resourceResponse);
	}
  

}


3 点击之前的view.jsp页面

liferay 调用ajax_第1张图片

4 点击ajax请求1后的页面

liferay 调用ajax_第2张图片


你可能感兴趣的:(liferay 调用ajax)