我使用 jQuery.ajax 在我的 portlet 中调用此方法:
serveResource(ResourceRequest request, ResourceResponse response)
问题是当我尝试调用任何操作(ActionRequest req,ActionResponse resp)或提交按钮时,只调用了serveResource。
要调用我在 jsp 中使用的 serveResource :
<portlet:resourceURL var="ajaxURL" >
<portlet:param name="jsp" value="<%=request.getPathInfo()%>" />
</portlet:resourceURL>
为什么只有并且总是在我调用其他操作方法时调用此方法。
编辑:
我的控制器代码:
public class ConseillerPorlet extends MVCPortlet {
public void addConsultant(ActionRequest request,ActionResponse response){
List<String> errors=new ArrayList<String>();
ConseillerLocalServiceUtil.addConseiller(request, response);
SessionErrors.add(request, "error-saving-consultant");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public void serveResource(ResourceRequest request, ResourceResponse response) throws IOException, PortletException {
String jsp=ParamUtil.getString(request, "jsp");
System.out.println("ServeResouce Called by "+jsp);
if(jsp.equals("/html/view.jsp")){
String s="";
List<Classe> classes;
long Id=ParamUtil.getLong(request, "id");
try {
classes=Utils.getListClasses(etablissementId);
for(Classe classe : classes)
{
s=s+"<option value='"+classe.getClasseId()+"'>"+classe.getNomClasse()+"</option>";
}
} catch (SystemException e) {
e.printStackTrace();
}
response.getWriter().write(s);//return options for my <select> that i get using ajax and jquery
}
}
}
感谢帮助