I am using Zero Configuration (annotations), so no struts.xml necessary.
----------------
formDetails.jsp
----------------
<!DOCTYPE html PUBLIC "~//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>IPSM struts2 Demo Form</title>
<link href="<s:url value ='/css/main.css'/>" rel="stylesheet"
type="text/css" />
</head>
<body>
<h2>
<s:property value="message" />
</h2>
<s:actionerror />
<s:form action="sample!submit" method="post">
<s:checkbox name="#session.formBean.requery"
label="Requery?" />
<s:textfield name="#session.formBean.firstName"
value="%{#session.formBean.firstName}" label="First
Name"
size="16" />
<s:textfield name="#session.formBean.maxValue"
value="%{#session.formBean.maxValue}" label="Max
Value"
size="10" /> (<s:property
value="%{#session.formBean.maxValueRangeMin}" />-<s:property
value="%{#session.formBean.maxValueRangeMax}"
/>)
<s:textfield name="#session.formBean.lastName"
value="%{#session.formBean.lastName}" label="Last
Night"
size="10" required="true" />
<s:label key="#session.formBean.maxValueRangeMax"
label="Max Routes (Max)" />
<s:textarea label="Comment"
name="#session.formBean.comment"
cols="15" rows="8" />
<s:select name="#session.formBean.selection"
value="%{#session.formBean.selection}"
label="Selection"
list="#session.formBean.picklist" listKey="code"
listValue="label" />
<s:hidden name="target" value="setme" />
<s:url var="back_button_url"
value="/images/back_button.gif" />
<s:submit type="image" src="%{#back_button_url}"
label=""
cssClass="formButton"
onclick="javascript:this.form.target.value='backButton';
this.form.submit();" />
<s:url var="next_button_url"
value="/images/next_button.gif" />
<s:submit type="image" src="%{#next_button_url}"
label=""
cssClass="formButton"
onclick="javascript:this.form.target.value='nextButton';
this.form.submit();" />
</s:form>
</body>
</html>
----------------
MyFormBean.jsp
----------------
package sample;
import java.util.ArrayList;
import java.util.List;
public class MyFormBean
{
private boolean requery = true;
private String firstName = "";
private String selection = "";
private String lastName = "";
private String comment = "";
private int maxValue = 0;
//~~~ items for GUI display purposes etc.
private final int maxValueRangeMin = 1;
private final int maxValueRangeMax = 263732;
private List<PicklistItem> picklist = null;
//~~~
public MyFormBean()
{
picklist = new ArrayList<PicklistItem>();
picklist.add(new PicklistItem("1","Item 1"));
picklist.add(new PicklistItem("2","Item 2"));
picklist.add(new PicklistItem("3","Item 3"));
picklist.add(new PicklistItem("4","Item 4"));
picklist.add(new PicklistItem("5","Item 5"));
}
public boolean isRequery()
{
return requery;
}
public void setRequery(boolean requery)
{
this.requery = requery;
}
public String getFirstName()
{
return firstName;
}
public void setFirstName(String firstName)
{
this.firstName = firstName;
}
public String getSelection()
{
return selection;
}
public void setSelection(String selection)
{
this.selection = selection;
}
public String getLastName()
{
return lastName;
}
public void setLastName(String lastName)
{
this.lastName = lastName;
}
public String getComment()
{
return comment;
}
public void setComment(String comment)
{
this.comment = comment;
}
public int getMaxValue()
{
return maxValue;
}
public void setMaxValue(int maxValue)
{
this.maxValue = maxValue;
}
public List<PicklistItem> getPicklist()
{
return picklist;
}
public void setPicklist(List<PicklistItem> picklist)
{
this.picklist = picklist;
}
public int getMaxValueRangeMin()
{
return maxValueRangeMin;
}
public int getMaxValueRangeMax()
{
return maxValueRangeMax;
}
}
----------------
PicklistItem.jsp
----------------
package sample;
public class PicklistItem
{
private String code = "";
private String label = "";
public PicklistItem(String aCode, String aLabel)
{
code = aCode;
label = aLabel;
}
public String getCode()
{
return code;
}
public void setCode(String code)
{
this.code = code;
}
public String getLabel()
{
return label;
}
public void setLabel(String label)
{
this.label = label;
}
}
----------------
SampleAction.jsp
----------------
package sample;
import java.util.Map;
import org.apache.struts2.config.Result;
import org.apache.struts2.config.Results;
import org.apache.struts2.interceptor.SessionAware;
import org.apache.struts2.views.tiles.TilesResult;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
@Results(
{
@Result(name = "displayFormPage", value = "/formDetails.jsp"),
@Result(name = "homeError", value = "/homeError.page", type =
TilesResult.class)
} )
public class SampleAction extends ActionSupport implements SessionAware
{
private String message = "";
private String target = "";
private MyFormBean formBean = new MyFormBean();
public void setSession(Map<String, Object> session)
{
Object obj = session.get("formBean");
if (obj == null)
{
session.put("formBean", formBean);
}
}
public void setFormBean(MyFormBean formBean)
{
Map session = (Map)ActionContext.getContext().get("session");
session.put("formBean", formBean);
}
public MyFormBean getFormBean()
{
Map session = (Map)ActionContext.getContext().get("session");
return (MyFormBean)session.get("formBean");
}
public String displayForm() throws Exception
{
formBean = new MyFormBean();
formBean.setComment("struts2 is cool");
formBean.setFirstName("Linus");
formBean.setLastName("Torvalds");
formBean.setMaxValue(50);
setFormBean(formBean);
// Map session = (Map) ActionContext.getContext().get("session");
// session.put("formBean",formBean);
return "displayFormPage";
}
public String submit() throws Exception
{
if (target != null
&& target.length() > 0)
{
setMessage(target
+ " was pressed.");
}
// Map session = (Map) ActionContext.getContext().get("session");
// formBean = (MyFormBean)session.get("formBean");
return "displayFormPage";
}
public String getMessage()
{
return message;
}
public void setMessage(String message)
{
this.message = message;
}
public String getTarget()
{
return target;
}
public void setTarget(String target)
{
this.target = target;
}
}
Gabriel Belingueres wrote:
Could you post your struts.xml, action and (one of the) JSP?
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]