1. 程式人生 > >liferay portlet二次開發多個ajax資料傳遞

liferay portlet二次開發多個ajax資料傳遞

最近需要使用liferay,在進行portlet開發時需要使用到多個ajax資料的傳遞,現將程式碼粘帖如下:

也歡迎大家加入一起討論群:427070805

portlet view.jsp程式碼如下:

<portlet:resourceURL var="ajaxUrl" >
<portlet:param name="p_p_resource_id" value="test1"/>
</portlet:resourceURL>
<script >
$(function(){
       $.ajax({
 type:'POST',
        url:'<%=ajaxUrl%>',
        data:{p_p_resource_id:'test1'},
        complete :function(){$("#load").hide();}, //AJAX請求完成時隱藏loading提示
        success: function(msg){
        alert(msg);
         }
 });

$('#test2').click(function(){

               $.ajax({
 type:'POST',
        url:'<%=ajaxUrl%>',
        data:{p_p_resource_id:'test2'},
        complete :function(){$("#load").hide();}, //AJAX請求完成時隱藏loading提示
        success: function(msg){
        alert(msg);
         }
 });

});
});

 

</script>

<input type="button" id="test2" value="test2">

後臺接收方法如下:

public class villageTitlePortlet extends MVCPortlet {

//通過ajax提交到後臺之後需重寫些方法進行處理

@Override
public void serveResource(ResourceRequest resourceRequest,
ResourceResponse resourceResponse) throws IOException,
PortletException {
String resourceID=resourceRequest.getResourceID();
System.out.println("sssssssssss"+resourceID);
resourceResponse.setContentType("text/html;charset=UTF-8");
PrintWriter out=null;
out=resourceResponse.getWriter();
String result="這是test2服務端返回的結果資訊";
if(resourceID.equals("test1")){
result="這是test1服務端返回的結果資訊";
out.print(jsonString);
out.flush();
out.close();
}

out.print(result);
out.flush();
out.close();

super.serveResource(resourceRequest, resourceResponse);

}

}

注意:頁面上ajax url對應的標籤是portlet:resourceURL,而非actionURL。