JSR 168 또는 286 포틀릿입니까?
processAction()
메서드가 실제로 호출되고 있다고 확신하는 것 같습니다. 그렇지 않다면, 나는 그것을 확인함으로써 시작할 것입니다. 폼에 action 속성이있을 것입니다. actionURL 태그를 사용하여 JSP에서 액션 속성을 렌더링하고 있습니까?
즉, getParameter()
이 null을 반환 할 때마다 양식의 입력 요소에있는 name 특성이나 getParameter()
에 대한 인수 중 하나를 잘못 입력했음을 의미합니다. 또한 매개 변수는 대/소문자를 구분합니다.
언제든지 양식의 코드와 processAction()
방법으로 질문을 업데이트 할 수 있습니까? 샘플 JSP 여기
public class TestPortlet extends GenericPortlet {
public void init() throws PortletException {
super.init();
}
public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
response.setContentType(request.getResponseContentType());
PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/jsp/view.jsp");
rd.include(request,response);
}
public void processAction(ActionRequest request, ActionResponse response) throws PortletException {
System.err.println(request.getParameter("username"));
System.err.println(request.getParameter("password"));
}
}
은 다음과 같습니다 : 여기
는 요청 매개 변수를 가져옵니다 (JSR 286) (package 문 및 수입 생략) 예를 들어 포틀릿입니다
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects />
<div>
<form action="<portlet:actionURL />">
<table>
<tr>
<td>
User Name:
</td>
<td>
<input type="text" name="username" value="">
</td>
</tr>
<tr>
<td>
Password:
</td>
<td>
<input type="password" name="password" value="">
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type="submit" name="submit" value="Submit">
</td>
</tr>
</table>
</form>
</div>
JSR 168은 무엇을 사용합니까? – someone