可能重複:
How to call specific method of portlet.java class rather then overide serveResource method?如何調用特定的方法,而不是在portlet.java中的serveResource方法從ajax中調用lfieray portlet?
我有打電話在Liferay中ajax的方法,現在一個混亂正在做這樣
這是我的樣本view.jsp的中我只是調用我的portlet.java類的一種方法
<%@ include file="/init.jsp"%>
<portlet:actionURL name="AddTest" var="add1" />
<portlet:resourceURL id="AddTest" var="AddTest"></portlet:resourceURL>
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
function addToDo(addToDo){
var todo =document.getElementById('toDo').value;
$.ajax({
url :addToDo,
data: {"todo":todo,"CMD":"addToDo"},
type: "GET",
dataType: "text",
success: function(data) {
$("#toDoList").html(data);
}
});
}
</script>
</head>
<body>
<portlet:resourceURL var="addToDo" id="addToDo"></portlet:resourceURL>
<form>
<input type="text" name="toDo" id="toDo">
<button name="Add" type="button" onclick="addToDo('<%=addToDo%>')">Add</button>
<div id="toDoList">
</div>
</form>
</body>
</html>
現在我有覆蓋的serveResource方法在我portlet.java類
@Override
public void serveResource(ResourceRequest request, ResourceResponse response){
if(request.getParameter("CMD").equals("addToDo")){
System.out.println("came here for add");
mediatype userToDo = new mediatypeImpl();
//userToDo.setMediaId(12345);
try {
userToDo.setPrimaryKey((CounterLocalServiceUtil.increment()));
userToDo.setMedianame(request.getParameter("todo"));
mediatypeLocalServiceUtil.addmediatype(userToDo);
}
catch (SystemException e) {
e.printStackTrace();
}
}
}
現在我知道是從任何AJAX調用它會重定向到這個方法。 但是我怎樣才能從Ajax調用中調用我的porltet.java類的特定方法?是否有嗎?在此阿賈克斯 我只是新的蜜蜂,需要大家有幫助people..if任何人都可以指導我
我不知道它是如何添加兩個問題?我已經嘗試過首先添加問題,但由於網絡問題,因爲它沒有顯示..所以我再次添加了。對於那 –