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]

Reply via email to