2012-10-12 3 views
0

liferay 포틀릿을 개발 중입니다. 이것은 처음하는 일이 아니지만이 오류가 발생하는 이유를 이해할 수없는 간단한 오류가 발생합니다. 제출 버튼을 클릭하면이 오류가 발생합니다."요청한 리소스를 찾을 수 없습니다."liferay 포틀릿에 양식을 제출할 때

요청한 리소스를 찾을 수 없습니다. "http : // localhost : 8081/addProduct"

시간이 넘습니다. 문제를 해결하려고하는데 바보 같은 실수를 저질렀습니다. 어떤 몸이라도이 문제를 해결할 수 있습니까? 어떤 도움이든 미리 감사드립니다. 여기 내 JSP 코드 :

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> 
<%@ taglib uri="http://liferay.com/tld/aui" prefix="aui" %> 
<%@ page import="javax.portlet.PortletURL" %> 

<portlet:defineObjects /> 

This is the <b>ServiceBuilderTest</b> portlet. 
<portlet:actionURL var="addProduct" name="addProductAction"/> 

<aui:form method="post" action="addProduct"> 
    <aui:fieldset> 
     <aui:input name="productName" label="Product Name"></aui:input> 
     <aui:input name="userID" label="User ID"></aui:input> 
     <aui:input name="companyID" label="company ID"></aui:input> 
     <aui:input name="groupID" label="Group ID"></aui:input>  
     <aui:input name="serialNumber" label="Serial Number"></aui:input> 
     <aui:button type="submit" value="Submit"></aui:button> 
    </aui:fieldset> 
</aui:form> 

그리고 이것은 내 포틀릿 클래스 코드 :

public class ServiceBuilderPortlet extends MVCPortlet{ 
    public void addProductAction(ActionRequest actionReauest, ActionResponse   actionResponse) throws SystemException, PortalException 
    {    
     String productName = actionReauest.getParameter("productName"); 
     String userID = actionReauest.getParameter("userID"); 
     String companyID = actionReauest.getParameter("companyID"); 
     String groupID = actionReauest.getParameter("groupID"); 
     String serialNumber = actionReauest.getParameter("serialNumber"); 
     PRProduct product =  PRProductLocalServiceUtil.addProduct(Long.parseLong(companyID), Long.parseLong(groupID),  productName, 
       serialNumber, Long.parseLong(userID));     
    } 
} 
+0

당신의 mvcPortlet 코드뿐만 아니라 예외를 게시하시기 바랍니다가 –

+0

'공공 무효 addProductAction (ActionRequest를 actionReauest, ActionResponse의 ActionResponse의가) SystemException이, PortalException 을 던졌습니다 {}'메소드의 이름이'야해 addProduct'? –

+0

name 속성은 메서드 이름입니다. – Beginner

답변

0

그것이

<portlet:actionURL var="addProduct" name="addProductAction"/> 
<aui:form method="post" action="<%=addProduct%>"> 
    ... 

실제로, 나는 이름없는하는 가장 좋은 방법은 그것을 볼 줄 수 있도록 "addProductAction"동작이 있지만 "addProduct"만 변경되므로 변경 사항은 다음과 같습니다 (자바의 한 줄을 포함하여 나머지는 잘 보입니다 (시각적으로, 시도/테스트되지 않음) :

<portlet:actionURL var="addProduct" name="addProduct"/> 
<aui:form method="post" action="<%=addProduct%>"> 
    .... 

public class ServiceBuilderPortlet extends MVCPortlet{ 
    public void addProduct(ActionRequest request, ActionResponse response) throws SystemException, PortalException { 
     // ... 
    } 
} 
+0

당신은 바로 올라프입니다. 귀하의 답변에 감사드립니다. 그런데 Service Builder를 사용해 본 경험이 있습니까? 문제가 있습니다. – Beginner

+0

음, 다음 질문을하면 우리는 보게 될 것입니다. (하지만 다음날 대답 할 수있을지는 모르겠지만 이번 주에는 꽤 바쁩니다.) –

+0

OK. 나는 내 질문을 게시 할 것이다. 미리 감사드립니다. – Beginner

관련 문제