2017-12-27 14 views
1

liferay 6.1을 사용하고 있습니다. 내 JSP에 입력 된 텍스트가 있습니다. 입력 텍스트에 값을 쓰고 그 값을 포틀릿 컨트롤러에 전달하려고합니다. 그러나 액션이 컨트롤러로 보내지지 않습니다.AUI 입력 교환 감지가 작동하지 않습니다.

JSP 코드

@ProcessAction(name="actionMethodByJavaApi") 
    public void renderDOB(BindingResult bndingResult, ActionRequest request, ActionResponse response, SessionStatus sessionStatus, Model model) 
      throws SystemException, IOException, PortalException, AddressException { 
     logger.info("DOB Action"); 
//  String sampleParam = ParamUtil.get(request, "param", "defaultValue"); 
//  logger.info("Sample Param is ::"+sampleParam); 
    } 

어떤 도움 컨트롤러에서

<form:input type="text" name="id" path="id" onchange="" onkeydown=""/> 
<aui:script use="event, node"> 
     AUI().ready('liferay-portlet-url','node',function(A){ 
      var actionURL = Liferay.PortletURL.createActionURL(); 
      actionURL.setWindowState("<%=LiferayWindowState.NORMAL.toString() %>"); 
      actionURL.setPortletMode("<%=LiferayPortletMode.VIEW %>"); 
      actionURL.setParameter("param","This value comes from Javascript"); 
      actionURL.setParameter("javax.portlet.action","actionMethodByJavaApi"); 

      A.one("#id").set('onchange', actionURL.toString()); 
      A.on("change",function(e){ 
      var idSelect= A.one("#id").val(); 
       }); 

     }); 
</aui:script> 

! 당신이 확인할 수 있습니다

,

<aui:form> 
<aui:fieldset> 
    <aui:input name="verb" id="verb" type="text"> 
     <aui:validator name="required"/> 
    </aui:input> 
    <aui:button type="submit" class="btn btn-primary" id="submit" value="Generate"/> 
</aui:fieldset> 

은 분명히 당신이 원하는 것은 자바 스크립트에서 Ajax 호출/호출입니다 :

답변

1

나는 당신이 AUI 태그 예제 양식을 선언해야합니다 생각 튜토리얼 http://www.opensource-techblog.com/2015/07/aui-ajax-in-liferay-portlet.html Ajax 호출에 사용할 리소스가 노출되어 있습니다.

+0

답장을 보내 주셔서 감사합니다.하지만 아무 일도 일어나지 않았습니다. – jam

+0

안녕하세요 잼, 아약스하는 방법을 포함 시키거나 자바 스크립트에서 전화를 걸 때 내 답변이 업데이트되었습니다. 사용 해보고 테스트 해주세요. – Hatim