...
Code Block | ||||
---|---|---|---|---|
| ||||
<html> <head> <title>Error page for form with data</title> </head> <body> Hmm, you don't seem to have entered a name. Go back and try again please. </body> </html> |
Try it
Don't forget to compile your action to \[ webapp\]/WEB-INF/classes, and to restart your web application if necessary. Wiki Markup
Go ahead and try it now: click the form submit button and see what happens. Try it with and without entering a name.
...
2. Create the form action
...
Paste this code into \[ src\]/lessons/Form04Action.java:
Code Block | ||||
---|---|---|---|---|
| ||||
package lessons; import com.opensymphony.xwork.ActionSupport; import com.opensymphony.webwork.interceptor.ParameterAware; import java.util.Map; public class Form04Action extends ActionSupport implements ParameterAware { Map parameters; public Map getParameters() { return parameters; } public void setParameters(Map parameters) { this.parameters = parameters; } public String execute() { String[] yourName = (String[]) parameters.get("yourName"); if(yourName == null || yourName[0] == null || yourName[0].length() == 0) return ERROR; else return SUCCESS; } } |
Register the action in xwork.xml:
Edit \[ webapp\]/WEB-INF/classes/xwork.xml: Wiki Markup
Code Block | ||||
---|---|---|---|---|
| ||||
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd"> <xwork> <!-- Include webwork defaults (from WebWork JAR). --> <include file="webwork-default.xml" /> <!-- Configuration for the default package. --> <package name="default" extends="webwork-default"> <!-- Default interceptor stack. --> <default-interceptor-ref name="defaultStack" /> <!-- 02 --> <action name="form02" class="lessons.Form02Action"> <result name="success" type="dispatcher">page02-success.jsp</result> </action> <!-- 03 --> <action name="form03" class="lessons.Form03Action"> <result name="success" type="dispatcher">page03-success.jsp</result> <result name="error" type="dispatcher">page03-error.jsp</result> </action> <!-- 04 --> <action name="form04" class="lessons.Form04Action"> <result name="success" type="dispatcher">page04-success.jsp</result> <result name="error" type="dispatcher">page03-error.jsp</result> <interceptor-ref name="servlet-config"/> </action> </package> </xwork> |
Create the success and error pages
...
Code Block | ||||
---|---|---|---|---|
| ||||
<%@ taglib uri="webwork" prefix="ww" %> <html> <head> <title>Success page for form with data</title> </head> <body> Hello, <ww:property value="parameters.yourName" />! </body> </html> |
Try it
...
Don't forget to compile your action to \[ webapp\]/WEB-INF/classes, and to restart your web application if necessary.
Go ahead and try it now. Load page04.jsp
, enter "Bob" in the text field, and click the form submit button. You should see page04-success.jsp
saying "Hello, Bob!"
...