In many cases, a portlet is designed to dispatch to one or more JSPs. This lets you format the presentation of the portlet output in a page. The Helloworld portlet uses a simple page located at <ATG11dir>/Portlet/helloworld/helloworld/helloworld/html/index.jsp. There is nothing that makes this page different from a non-portlet JSP that uses a form handler.
The Helloworld index.jsp page uses the HelloWorldFormHandler. This line in the index.jsp page sets the actionURL variable, which is used in the action attribute of a form tag:
<c:set var="actionURL"><portlet:actionURL/></c:set>
The core of the index.jsp page accesses the HelloWorldFormHandler with the form and input submit tags from the dpsel tag library.
<dspel:form method="post" action="${actionURL}">
<table>
<tr>
<td><label class="portlet-form-label" for="message">
<fmt:message key="label-message"/></label></td>
<td><dspel:input iclass="portlet-form-input-field" type="text"
bean="HelloWorldFormHandler.message" id="message"/></td>
</tr>
<tr>
<td> </td>
<td><dspel:input iclass="portlet-form-button" type="submit"
bean="HelloWorldFormHandler.update"/></td>
</tr>
</table>
</dspel:form>
