利用一个portlet:resourceURL标签发送AJAX请求
2017-10-11 00:08
417 查看
Portlet页面:
package com.demo.ajax;
import java.io.IOException;
import java.io.PrintWriter;
import javax.portlet.PortletException;
import javax.portlet.ResourceRequest;
import javax.portlet.ResourceResponse;
import com.liferay.util.bridges.mvc.MVCPortlet;
/**
* Portlet implementation class AJAXPortlet1
*/
public class AJAXPortlet1 extends MVCPortlet {
//ajax请求时候只能使用portlet:resourceURL 进入serveResource方法中
@Override
public void serveResource(ResourceRequest resourceRequest,
ResourceResponse resourceResponse) throws IOException,
PortletException {
String resourceId = resourceRequest.getResourceID();
PrintWriter writer = resourceResponse.getWriter();
if("wq1".equals(resourceId)){
writer.print("jquery请求!");
}
if("wq2".equals(resourceId)){
writer.print("aui请求!");
}
writer.flush();
}
}
-----------------------------------------------------------------------------------------------
JSP页面:
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects />
<%
String basePath = renderRequest.getContextPath();
%>
<!-- ajax请求时候只能使用portlet:resourceURL 进入serveResource方法中-->
<!-- p_p_resource_id即为该id,可以在serveResource方法中取出 -->
<!-- 使用一个portlet:resourceURL标签,可以在地址后面绑定p_p_resource_id,或者通过参数传递该id -->
<portlet:resourceURL var="url"></portlet:resourceURL>
<!-- 引入jQuery -->
<script type="text/javascript" src="<%=basePath%>/js/jquery.js"></script>
<script type="text/javascript">
//利用jquery发送ajax请求,在地址后面添加 &p_p_resource_id=wq1 来传递
$(function(){
$("#ajaxtest3").click(function(){
//发送请求
$.ajax({
type: "post",
url: "<%=url%>&p_p_resource_id=wq1",
success:function(data){
//写入数据
$("#msg").val(data);
}
});
});
});
//利用AUI发送ajax请求,利用参数传递p_p_resource_id
AUI().use('aui-base','aui-io-request', function(A){
A.one("#ajaxtest4").on('click',function(){
A.io.request("<%=url%>",{
//dataType: 'json',
method: "post",
data: {
paranName: "参数值",
p_p_resource_id:"wq2"
},
on:{
success: function() {
var data = this.get('responseData');
A.one("#msg").val(data);
}
}
});
})
});
</script>
<html>
<p>
<input type="button" id="ajaxtest3" value="jquery发起请求" />
<input type="button" id="ajaxtest4" value="aui发起请求" />
</p>
<p>接收AJAX请求:<input type="text" id="msg"/><p>
</html>
-----------------------------------------------------------------------------------------------
测试结果:
-----------------------------------------------------------------------------------------------
注意:在使用jquery选择器获取元素节点的时候,尽量ID不要相同,包括最后输出input的ID,若上篇文章中的ID与钙片文章ID相同,则会出现错误
package com.demo.ajax;
import java.io.IOException;
import java.io.PrintWriter;
import javax.portlet.PortletException;
import javax.portlet.ResourceRequest;
import javax.portlet.ResourceResponse;
import com.liferay.util.bridges.mvc.MVCPortlet;
/**
* Portlet implementation class AJAXPortlet1
*/
public class AJAXPortlet1 extends MVCPortlet {
//ajax请求时候只能使用portlet:resourceURL 进入serveResource方法中
@Override
public void serveResource(ResourceRequest resourceRequest,
ResourceResponse resourceResponse) throws IOException,
PortletException {
String resourceId = resourceRequest.getResourceID();
PrintWriter writer = resourceResponse.getWriter();
if("wq1".equals(resourceId)){
writer.print("jquery请求!");
}
if("wq2".equals(resourceId)){
writer.print("aui请求!");
}
writer.flush();
}
}
-----------------------------------------------------------------------------------------------
JSP页面:
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects />
<%
String basePath = renderRequest.getContextPath();
%>
<!-- ajax请求时候只能使用portlet:resourceURL 进入serveResource方法中-->
<!-- p_p_resource_id即为该id,可以在serveResource方法中取出 -->
<!-- 使用一个portlet:resourceURL标签,可以在地址后面绑定p_p_resource_id,或者通过参数传递该id -->
<portlet:resourceURL var="url"></portlet:resourceURL>
<!-- 引入jQuery -->
<script type="text/javascript" src="<%=basePath%>/js/jquery.js"></script>
<script type="text/javascript">
//利用jquery发送ajax请求,在地址后面添加 &p_p_resource_id=wq1 来传递
$(function(){
$("#ajaxtest3").click(function(){
//发送请求
$.ajax({
type: "post",
url: "<%=url%>&p_p_resource_id=wq1",
success:function(data){
//写入数据
$("#msg").val(data);
}
});
});
});
//利用AUI发送ajax请求,利用参数传递p_p_resource_id
AUI().use('aui-base','aui-io-request', function(A){
A.one("#ajaxtest4").on('click',function(){
A.io.request("<%=url%>",{
//dataType: 'json',
method: "post",
data: {
paranName: "参数值",
p_p_resource_id:"wq2"
},
on:{
success: function() {
var data = this.get('responseData');
A.one("#msg").val(data);
}
}
});
})
});
</script>
<html>
<p>
<input type="button" id="ajaxtest3" value="jquery发起请求" />
<input type="button" id="ajaxtest4" value="aui发起请求" />
</p>
<p>接收AJAX请求:<input type="text" id="msg"/><p>
</html>
-----------------------------------------------------------------------------------------------
测试结果:
-----------------------------------------------------------------------------------------------
注意:在使用jquery选择器获取元素节点的时候,尽量ID不要相同,包括最后输出input的ID,若上篇文章中的ID与钙片文章ID相同,则会出现错误
相关文章推荐
- 利用多个portlet:resourceURL标签发送AJAX请求
- Java利用HttpURLConnection发送post请求
- ajax请求当发送post方式application/json格式数据,url后面又带有参数的时候
- Android中利用HttpURLConnection发送Post请求并添加参数的写法
- 利用WebResource.axd通过一个URL来访问装配件的内置资源
- 利用jquery的ajax实现异步请求发送数据到后台
- 利用HttpURLConnection发送post请求上传多个文件
- Ajax在静态页面中向指定url发送json请求获取返回的json数据
- Java利用HttpURLConnection发送post请求
- 利用Ajax发送请求(二)
- http请求远程接口获得JSON数据(1) --- 利用HttpURLConnection发送post/get请求
- 利用fiddler工具调试android应用发送HttpURLConnection请求
- 利用Ajax发送HEAD请求读取服务器响应头部
- 一个Ajax请求如何向服务器发送XML
- 利用JS面向对象+模块化封装集AJAX请求、基本数据校验、URL参数截取等功能于一身的通用工具模块
- 利用WebResource.axd通过一个URL来访问装配件的内置资源
- 利用HttpURLConnection发送post请求上传文件
- IE6下a标签上发送ajax请求总是error
- 利用HttpURLConnection发送post请求上传多个文件
- 利用HttpURLConnection发送post请求上传文件