At line 97 removed 1 line. |
import javax.servlet.http.HttpServletResponse; |
At line 98 added 1 line. |
import org.apache.commons.lang.StringUtils; |
At line 101 changed 3 lines. |
import org.apache.struts.action.ActionForm; |
import org.apache.struts.action.ActionForward; |
import org.apache.struts.action.ActionMapping; |
import org.appfuse.model.Person; |
import org.appfuse.service.PersonManager; |
At line 106 changed 10 lines. |
/** |
* Implementation of <strong>Action</strong> that interacts with the {@link |
* PersonForm} and retrieves values. It interacts with the {@link |
* PersonManager} to retrieve/persist values to the database. |
* |
* @struts.action name="personForm" path="/editPerson" scope="request" |
* validate="false" parameter="action" input="mainMenu" |
*/ |
public final class PersonAction extends BaseAction { |
private static Log log = LogFactory.getLog(PersonAction.class); |
public class PersonFormController extends BaseFormController { |
|
private static Log log = LogFactory.getLog(PersonFormController.class); |
private PersonManager mgr = null; |
|
public void setPersonManager(PersonManager mgr) { |
this.mgr = mgr; |
} |
|
protected Object formBackingObject(HttpServletRequest request) |
throws Exception { |
String id = request.getParameter("id"); |
Person person = null; |
At line 117 changed 6 lines. |
public ActionForward execute(ActionMapping mapping, ActionForm form, |
HttpServletRequest request, |
HttpServletResponse response) |
throws Exception { |
if (log.isDebugEnabled()) { |
log.debug("Entering 'execute' method"); |
if (!StringUtils.isEmpty(id)) { |
person = mgr.getPerson(id); |
} else { |
person = new Person(); |
At line 125 changed 2 lines. |
// return nothing (yet) |
return null; |
return person; |
At line 131 changed 1 line. |
We're not putting much in PersonAction at this point because we just want to 1) render the JSP and 2) verify our Test runs. The XDoclet tags (beginning with ''@struts.action'') will generate the following XML in the build/appfuse/WEB-INF/struts-config.xml file (when you run __ant webdoclet__): |
We're not putting much in PersonController at this point because we just want to 1) render the JSP and 2) verify our Test runs. Now we need to add a url-mapping for this controller in the web/WEB-INF/action-servlet.xml file. In the block below, the new line is in green: |
At line 135 changed 4 lines. |
<action path="/editPerson" type="org.appfuse.webapp.action.PersonAction" |
name="personForm" scope="request" input="mainMenu" |
parameter="action" unknown="false" validate="false"> |
</action> |
<bean id="urlMapping" |
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> |
<property name="mappings"> |
<props> |
<prop key="/editProfile.html">userFormController</prop> |
<prop key="/mainMenu.html">filenameController</prop> |
<prop key="/editUser.html">userFormController</prop> |
<prop key="/selectFile.html">filenameController</prop> |
<prop key="/uploadFile.html">fileUploadController</prop> |
<prop key="/passwordHint.xml">passwordHintController</prop> |
<prop key="/signup.xml">signupController</prop> |
<span style="color: green"><prop key="/editPerson.html">personFormController</prop></span> |
</props> |
</property> |
</bean> |