gpt4 book ai didi

jquery - 当我调用操作时调用 serveResource

转载 作者:行者123 更新时间:2023-11-28 22:35:51 24 4
gpt4 key购买 nike

我使用 jQuery.ajax 在我的 portlet 中调用这个方法:

 serveResource(ResourceRequest request, ResourceResponse response) 

问题是当我尝试调用任何action(ActionRequest req,ActionResponse resp) 或提交按钮时,只有serveResource 被调用。

要调用我在 jsp 中使用的 serveResource :

 <portlet:resourceURL  var="ajaxURL" >
<portlet:param name="jsp" value="<%=request.getPathInfo()%>" />
</portlet:resourceURL>

为什么只有当我调用其他操作方法时才调用此方法。

编辑:

我的 Controller 代码:

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
}
}

感谢帮助

最佳答案

这是因为您正在创建一个资源 URL,并且这样做总是会命中 serveResource方法。如果您想点击操作方法,您需要创建一个操作 URL。

<portlet:actionURL name="updateSomething" var="updateSomethingURL" />

然后在您的 portlet 类中您可以定义:

public void updateSomething(ActionRequest actionRequest, ActionResponse actionResponse)
throws Exception {

// Code goes here.
}

请注意 name <portlet:actionURL /> 的属性如果您正在扩展 Liferay MVCPortlet,则对应于上面的方法名称类。

关于jquery - 当我调用操作时调用 serveResource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16347465/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com