Using Struts ActionForm to collect multiline input

I am trying to build an inventory page that displays a list
of items on a page and lets you update and items price or
quantity available. I know how to build a static ActionForm
that does say username and password. I also know how to build
an InventoryBean which returns a collection of ItemBean's.
I can't figure out how to have a dynamic ActionForm. Here
is what I have so far...
Here are the struts-config snipets:
<form-bean name="inventoryForm"
type="ww.caps.inventory.InventoryForm"/>
<action path="/inventory"
type="ww.caps.inventory.InventoryAction"
name="inventoryForm"
scope="request"
input="/inventory.jsp">
</action>
here is some of the JSP:
<html:form action="/inventory">
<table>
<logic:iterate id="item" name="invent" property="items">     
<tr>
<td align="CENTER" valign="CENTER">
<bean:write name="item" property="sku"/>
</td>
<td align="CENTER" valign="CENTER">
<html:text name="item" property="priceString" size="6" maxlength="8"/>
</td>
</logic:iterate>
</table>
</html:form>
This paints the page with <INPUT>'s just fine but the name of the
price inputs is NOT indexed so there is no way to capture the data
back, not to mention matching it with the right row in the database.
Any examples or hints on how to solve this problem would be greatly
appreciated.
Thanks,
Wayne R. Baldwin

Use a java Collection (probably an ArrayList) to store your list of items:
class MyForm extends ActionForm {
  private static ITEM_COUNT = 10;
  private Collection items = new ArrayList();
    for (int i = 0; i < ITEM_COUNT; i++)
      items.add(new Item());
  public Collection getItems() { return items; }
class Item {
  private String value;
  public void setValue(String data) { value = data; }
  public String getValue() { return value; }
}When struts sees a parameter like this passed into the POST:
items[0].value=test
it will do the same as if you had coded this in Java:
Collection c = getItems();
Item i = (Item)c.get(0);
i.setValue("test");

Similar Messages

  • UIX and Struts ActionForm

    Hi,
    Can I use Struts ActionForm and ADF UIX?
    Thanks

    The "Simple Hello World sample using ADF UIX and JDeveloper 10g Preview" application integrates Struts with ADF UIX.
    http://jjacobi.blogspot.com/2003_11_30_jjacobi_archive.html
    Simple ADF UIX User Input Application
    http://www.oracle.com/technology/products/jdev/howtos/10g/adf_uix_userinput_ht/index.html

  • How to list an array of objects using struts in jsp and ActionForm

    I am using the struts ActionForm and need to know how to display an Array of objects. I am assuming it would look like this in the ActionForm:
    private AddRmvParts addRmv[];
    But I am not sure how the getter and setter in the ActionForm should look. Should it be a Collection or an Iterator?
    I am thinking I need to use an iterator in the jsp page to display it.
    I am also wondering if the AddRmvParts class I have can be the same class that gets populated by the retrieval of data from the database. This class has 10 fields that need to display on the jsp page in 1 row and then multiple rows of these 10 fields.
    Thanks.

    Most probably the easiest way to make it accessible in your page is as a collection.
    ie
    public Collection getAddRmvParts()
    You can use the <logic:iterate> or a <c:forEach>(JSTL) tag to loop through the collection
    As long as the individual items in the collection provide get/set methods you can access them with the dot syntax:
    Example using JSTL:
    <c:forEach var="addRmvPart" items="${addRmvParts}">
      <c:out value="${addRmvPart.id} ${addRmvPart.name} ${addRmvPart.description}"/>
    </c:forEach>

  • Loading Collections in to DropDownList box using Struts with bean

    Hi folks,
    I am very new to struts.
    I am developing one small web application using struts. I has developed Bussiness Logic, i need to use properly in struts.
    ManufacturerList.java is a Bussiness Logic class using to load all manufacturer from the database. It using by the collection LinkedHashMap.
    I need to use this BL in my struts application.
    GOAL: In sturts application i need to add the car details, one of the property for car is manufacturer.
    When creating the car, it should display all the manufacturer in the new student form.
    Please explain how to create with struts.
    Some of the Code i developed
    {color:#ff0000}<html:form action="/Car?op=saveCar">
    <html:errors/>
    <html:hidden property="op" value="saveCar"/>
    <html:hidden property="carCode"/>
    Car Name <html:text property="model"></html:text> <br>
    Manufacturer
    <!-- Defining the bean for manufacturer list getting from the request-->
    <bean:define id="mfrList" name="ManufacturerList" property="manufacturers"
    scope="request"
    type="java.util.Collection">
    </bean:define>
    <br>
    Manufacturer Year <html:text property="yearOfManufacture"></html:text><br>
    Date of Purchase <html:text property="dateOfPurchase"></html:text> <br>
    <html:submit value="Ok" />
    </html:form>{color}
    This is code is not working properly.... Please explain

    Hi i did like this
    {color:#0000ff}<bean:define id="mfrList" name="ManufacturerList" {color}
    {color:#0000ff}scope="request" {color}
    {color:#0000ff}type="com.icalib.trafficSimulator.ManufacturerList">{color}
    {color:#0000ff}</bean:define>{color}
    {color:#0000ff}<html:select property="make">{color}
    {color:#0000ff}<html:optionsCollection name="mfrList" label="mfrName" value="mfrCode"/>{color}
    {color:#0000ff}</html:select>{color}
    But the error is comming like thisjavax.servlet.ServletException: Cannot create iterator for 1:Honda
    2:Maruti
    3:Hyundai
    4:Toyota
    5:Accord
    6:Test_mfr
    7:test_mfr2
    8:456
    9:again
    10:123
    11:again1
    What to give in the label and value in the optionsCollection                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Collection in collection using Struts

    I know we can submit the value of value object in collection using the following code.
    <logic:iterate id="collection" name="form" property="collection">
    <html:hidden indexed="true" name="collection" property="code" />
    </logic:iterate>
    But how about collection in collection? Is this possible in struts?
    Thanks in advance

    What you say is indeed the way to use struts.
    But I dont want to define in my jsp which fields of the Company object I want to display. I just want to loop through array of Collections and display them on my screen.
    I would like to ask the EJB for example getCompanyByName which returns me a array of Collections : (Company a, street 1) , (Company b, street 2)
    If I call getCompanyByStreet it returns me (street 1, Company a), (street 2, Company b)
    Thanks
    Nathalie

  • For Loop in Struts ?(without Collections)

    Hi all,
    Pls tell me how can v use FOR LOOP IN JSP STRUTS without using scriplets and collections .
    suppose i want to display 20 times "hello world "in jsp .How can i display it using STRUTS as conventionally scriplets are not allowed in it.
    and Iterator is only for Collections .
    thanx

    TestBean.java
    * $Id: TestBean.java 54929 2004-10-16 16:38:42Z germuska $
    * Copyright 1999-2004 The Apache Software Foundation.
    * Licensed under the Apache License, Version 2.0 (the "License");
    * you may not use this file except in compliance with the License.
    * You may obtain a copy of the License at
    * http://www.apache.org/licenses/LICENSE-2.0
    * Unless required by applicable law or agreed to in writing, software
    * distributed under the License is distributed on an "AS IS" BASIS,
    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    * See the License for the specific language governing permissions and
    * limitations under the License.
    package org.apache.struts.webapp.exercise;
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Vector;
    import javax.servlet.http.HttpServletRequest;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.util.LabelValueBean;
    * General purpose test bean for Struts custom tag tests.
    * @version $Rev: 54929 $ $Date: 2004-10-16 17:38:42 +0100 (Sat, 16 Oct 2004) $
    public class TestBean extends ActionForm {
    // ------------------------------------------------------------- Properties
    * A collection property where the elements of the collection are
    * of type <code>LabelValueBean</code>.
    private Collection beanCollection = null;
    public Collection getBeanCollection() {
    if (beanCollection == null) {
    Vector entries = new Vector(10);
    entries.add(new LabelValueBean("Label 0", "Value 0"));
    entries.add(new LabelValueBean("Label 1", "Value 1"));
    entries.add(new LabelValueBean("Label 2", "Value 2"));
    entries.add(new LabelValueBean("Label 3", "Value 3"));
    entries.add(new LabelValueBean("Label 4", "Value 4"));
    entries.add(new LabelValueBean("Label 5", "Value 5"));
    entries.add(new LabelValueBean("Label 6", "Value 6"));
    entries.add(new LabelValueBean("Label 7", "Value 7"));
    entries.add(new LabelValueBean("Label 8", "Value 8"));
    entries.add(new LabelValueBean("Label 9", "Value 9"));
    beanCollection = entries;
    return (beanCollection);
    public void setBeanCollection(Collection beanCollection) {
    this.beanCollection = beanCollection;
    * A multiple-String SELECT element using a bean collection.
    private String[] beanCollectionSelect = { "Value 1", "Value 3",
    "Value 5" };
    public String[] getBeanCollectionSelect() {
    return (this.beanCollectionSelect);
    public void setBeanCollectionSelect(String beanCollectionSelect[]) {
    this.beanCollectionSelect = beanCollectionSelect;
    * A boolean property whose initial value is true.
    private boolean booleanProperty = true;
    public boolean getBooleanProperty() {
    return (booleanProperty);
    public void setBooleanProperty(boolean booleanProperty) {
    this.booleanProperty = booleanProperty;
    * A multiple-String SELECT element using a collection.
    private String[] collectionSelect = { "Value 2", "Value 4",
    "Value 6" };
    public String[] getCollectionSelect() {
    return (this.collectionSelect);
    public void setCollectionSelect(String collectionSelect[]) {
    this.collectionSelect = collectionSelect;
    * A double property.
    private double doubleProperty = 321.0;
    public double getDoubleProperty() {
    return (this.doubleProperty);
    public void setDoubleProperty(double doubleProperty) {
    this.doubleProperty = doubleProperty;
    * A boolean property whose initial value is false
    private boolean falseProperty = false;
    public boolean getFalseProperty() {
    return (falseProperty);
    public void setFalseProperty(boolean falseProperty) {
    this.falseProperty = falseProperty;
    * A float property.
    private float floatProperty = (float) 123.0;
    public float getFloatProperty() {
    return (this.floatProperty);
    public void setFloatProperty(float floatProperty) {
    this.floatProperty = floatProperty;
    * Integer arrays that are accessed as an array as well as indexed.
    private int intArray[] = { 0, 10, 20, 30, 40 };
    public int[] getIntArray() {
    return (this.intArray);
    public void setIntArray(int intArray[]) {
    this.intArray = intArray;
    private int intIndexed[] = { 0, 10, 20, 30, 40 };
    public int getIntIndexed(int index) {
    return (intIndexed[index]);
    public void setIntIndexed(int index, int value) {
    intIndexed[index] = value;
    private int intMultibox[] = new int[0];
    public int[] getIntMultibox() {
    return (this.intMultibox);
    public void setIntMultibox(int intMultibox[]) {
    this.intMultibox = intMultibox;
    * An integer property.
    private int intProperty = 123;
    public int getIntProperty() {
    return (this.intProperty);
    public void setIntProperty(int intProperty) {
    this.intProperty = intProperty;
    * A long property.
    private long longProperty = 321;
    public long getLongProperty() {
    return (this.longProperty);
    public void setLongProperty(long longProperty) {
    this.longProperty = longProperty;
    * A multiple-String SELECT element.
    private String[] multipleSelect = { "Multiple 3", "Multiple 5",
    "Multiple 7" };
    public String[] getMultipleSelect() {
    return (this.multipleSelect);
    public void setMultipleSelect(String multipleSelect[]) {
    this.multipleSelect = multipleSelect;
    * A nested reference to another test bean (populated as needed).
    private TestBean nested = null;
    public TestBean getNested() {
    if (nested == null)
    nested = new TestBean();
    return (nested);
    * A String property with an initial value of null.
    private String nullProperty = null;
    public String getNullProperty() {
    return (this.nullProperty);
    public void setNullProperty(String nullProperty) {
    this.nullProperty = nullProperty;
    * A short property.
    private short shortProperty = (short) 987;
    public short getShortProperty() {
    return (this.shortProperty);
    public void setShortProperty(short shortProperty) {
    this.shortProperty = shortProperty;
    * A single-String value for a SELECT element.
    private String singleSelect = "Single 5";
    public String getSingleSelect() {
    return (this.singleSelect);
    public void setSingleSelect(String singleSelect) {
    this.singleSelect = singleSelect;
    * String arrays that are accessed as an array as well as indexed.
    private String stringArray[] =
    { "String 0", "String 1", "String 2", "String 3", "String 4" };
    public String[] getStringArray() {
    return (this.stringArray);
    public void setStringArray(String stringArray[]) {
    this.stringArray = stringArray;
    private String stringIndexed[] =
    { "String 0", "String 1", "String 2", "String 3", "String 4" };
    public String getStringIndexed(int index) {
    return (stringIndexed[index]);
    public void setStringIndexed(int index, String value) {
    stringIndexed[index] = value;
    private String stringMultibox[] = new String[0];
    public String[] getStringMultibox() {
    return (this.stringMultibox);
    public void setStringMultibox(String stringMultibox[]) {
    this.stringMultibox = stringMultibox;
    * A String property.
    private String stringProperty = "This is a string";
    public String getStringProperty() {
    return (this.stringProperty);
    public void setStringProperty(String stringProperty) {
    this.stringProperty = stringProperty;
    * An empty String property.
    private String emptyStringProperty = "";
    public String getEmptyStringProperty() {
    return (this.emptyStringProperty);
    public void setEmptyStringProperty(String emptyStringProperty) {
    this.emptyStringProperty = emptyStringProperty;
    * A single-String value for a SELECT element based on resource strings.
    private String resourcesSelect = "Resources 2";
    public String getResourcesSelect() {
    return (this.resourcesSelect);
    public void setResourcesSelect(String resourcesSelect) {
    this.resourcesSelect = resourcesSelect;
    * A property that allows a null value but is still used in a SELECT.
    private String withNulls = null;
    public String getWithNulls() {
    return (this.withNulls);
    public void setWithNulls(String withNulls) {
    this.withNulls = withNulls;
    * A List property.
    private List listProperty = null;
    public List getListProperty() {
    if (listProperty == null) {
    listProperty = new ArrayList();
    listProperty.add("dummy");
    return listProperty;
    public void setListProperty(List listProperty) {
    this.listProperty = listProperty;
    * An empty List property.
    private List emptyListProperty = null;
    public List getEmptyListProperty() {
    if (emptyListProperty == null) {
    emptyListProperty = new ArrayList();
    return emptyListProperty;
    public void setEmptyListProperty(List emptyListProperty) {
    this.emptyListProperty = emptyListProperty;
    * A Map property.
    private Map mapProperty = null;
    public Map getMapProperty() {
    if (mapProperty == null) {
    mapProperty = new HashMap();
    mapProperty.put("dummy", "dummy");
    return mapProperty;
    public void setMapProperty(Map mapProperty) {
    this.mapProperty = mapProperty;
    * An empty Map property.
    private Map emptyMapProperty = null;
    public Map getEmptyMapProperty() {
    if (emptyMapProperty == null) {
    emptyMapProperty = new HashMap();
    return emptyMapProperty;
    public void setEmptyMapProperty(Map emptyMapProperty) {
    this.emptyMapProperty = emptyMapProperty;
    // --------------------------------------------------------- Public Methods
    * Reset the properties that will be received as input.
    public void reset(ActionMapping mapping, HttpServletRequest request) {
    booleanProperty = false;
    collectionSelect = new String[0];
    intMultibox = new int[0];
    multipleSelect = new String[0];
    stringMultibox = new String[0];
    if (nested != null)
    nested.reset(mapping, request);
    }

  • Struts 1.1 Iterate through input types of image

    Hi everyone,
    I'm using struts 1.1, and specifically the logic:iterate tag. Basically I'm looping through a List of Users. I print out username, userAccessLevel, two image input types (edit or remove). My actionForm associated with the JSP contains the List of Users.
    A User object has an AccessButtons field (among other things),
    an AccessButtons object contains two Buttons objects named edit and remove,
    a Button object has 3 String fields, x, y, and name, and a "pressed()" function
    Essentially I want the Action class to be able to pick up what button was pressed on the ActionForm. Specifically both the user and edit/remove action associated with the button. The code I have so far in the JSP is:
    <logic:iterate id="users" name="accessForm" property="users" indexId="index">
    <bean:define id="ssn" name="users" property="ssn"/>
    <bean:define id="accessButtons" name="users" property="accessButtons"/>
    <bean:write name="users" property="fullname"/>
    <bean:write name="users" property="accessLevel"/>
    <html:image property="accessButtons.edit" src="images/edit.gif" border="0" alt="edit" indexed="true"/>
    <html:image property="accessButtons.remove" src="images/remove.gif" border="0" alt="remove" indexed="true"/>
    </logic:iterate>
    This displays the desired output, but it doesn't help be differentiate the user for which the button was pressed. I left out some of the HTML formatting stuff to keep the code clean.
    Anyone have any ideas? I hope I explained what I wanted clearly and concisely...

    yes, this is a problem, isn't it...
    I would suggess make each user iterration include a separate form tag set and have a hidden field with the user id. but I think this will still have a problem of knowing which of the 2 buttons were pressed. There is a problem here, cuz Netscape 7 sends the button name of the button and button.x and button.y, whereas IE 6 only sends the button.x and button.y, and not the button as is... which presents a problem to figuring out what was clicked. (Plain submit type buttons seem to be fine for submitting). At least, I guess just check for the existance of the button_name.x to see which was pressed, but you still need the user ID in the forms.

  • How to add row of text box and combox dynamically using struts......!!!!!!!

    Hi All,
    In my JSP I have something like a row of TextBox-----Combox-----TextBox Button--Add
    When user clicks on "Add" I need to add exactly the same row as above.
    I am using struts and have following code
    My jsp
    <html:text property="paramName" size="20" maxlength="50"/>  
    <html:select property="paramTypeId">
       <html:options collection="queryReturnType" property="value" labelProperty="label" />
    </html:select>   
    <html:text property="paramDefault" size="20" maxlength="50"/>  
    <html:button property="buttonAdd" style="cursor:pointer" onclick="addRow()"> <bean:message key='button.add'/>  /html:button>  
    My actionForm
         private String[] paramName;
         private int[] paramTypeId;
         private String[] paramDefault;
    //having getter and setter method also for these three attibutesPlease help....it would be of great help if some one can give me a java script of code for adding a row like I mentioned above....!!!
    Thanks

    Hi inryji.
    Thanks for your reply..!!!
    I have written the below method to add a row and its adding also.
    But when I submit the form....value for combox is not going to the newly addedd row.
    here is my jsp code...
    <table border="0" width="75%" cellspacing="1" id="myTable">
    <tbody>
    <tr>
         <td width="80%" class="evencellleft">
              <html:text property="paramName" size="20" maxlength="50"/>  
              <html:select property="paramTypeId">
                   <html:options collection="queryReturnType" property="value" labelProperty="label" />
              </html:select>   
              <html:text property="paramDefault" size="20" maxlength="50"/>  
              <html:button property="buttonAdd" style="cursor:pointer" onclick="addRow()"> <bean:message key='button.add'/>  </html:button>  
              <html:button property="buttonDelete" style="cursor:pointer" onclick="removeRow()"><bean:message key='button.delete'/>  </html:button>
         </td>
    </tr>
    </tbody>
    </table>
    here is my java script code...
    function addRow() {
         var tbody = document.getElementById('myTable').getElementsByTagName("TBODY")[0];
         var row = document.createElement("<tr>");
         var td1 = document.createElement("<td width='80%' class='evencellleft'>");
         td1.innerHTML+="   ";
         var myElement1 = document.getElementById('paramName');
         var el1 = myElement1.cloneNode(true);
         el1.id = "";
         td1.appendChild(el1);
         td1.innerHTML+="   ";
         var myElement2 = document.getElementById('queryReturnTypeId');
         var el2 = myElement2.cloneNode(true);
         el2.id = "";
         td1.appendChild(el2);
         td1.innerHTML+="    ";
         var myElement3 = document.getElementById('paramDefault');
         var el3 = myElement3.cloneNode(true);
         el3.id = "";
         td1.appendChild(el3);
         row.appendChild(td1);
         tbody.appendChild(row);
    }Please help...!!!

  • Struts ActionForm variable values in JSP

    I've tried to get variable values from a Struts ActionForm. I know that I can use Struts's bean tags, but can't figure out correct syntax or may there's some thing else to discover.
    I'm trying something like:
    <bean:define id="atr" name="MyActionForm" property="attribute"/></address>
    <p><%=atr%></p>
    And my struts-config look like:
    <form-bean name="MyActionForm" type="sth.MyActionForm"/>
    And the ActionForm is like:
    private String attribute;
    public String getAttribute() { ... }
    public void setAttribute(String attribute) {...}
    What may be wrong?
    Edited by: aproppon on Sep 26, 2007 9:46 AM

    I've tried with <bean:write... but since I catch exception saying MyActionForm can't be found in any scope. As far as I'm aware I've set request scope like:
    <action input="/jsp/something.jsp" name="MyActionForm" path="/jsp/myAction" scope="request" type="sth.MyAction">
    <forward name="success" path="/jsp/index.jsp"/>
    <forward name="failure" path="/jsp/something.jsp"/>
    </action>
    Edited by: D.A.R. on Sep 26, 2007 12:09 PM

  • Struts can't display the input jsp page

    Hello,
    I'm using Struts 1.3.8 to construct a simple user registration system, in which the user could input his info (such as uuname and gpin, both are strings) in a jsp page, and after the submit, the system should go to a success page. However, somehow, when I access the url, it goes directly to the success page, but not stay at the input page.
    Here is my {color:#ff0000}struts-xml.config{color}
    bq. <?xml version="1.0" encoding="UTF-8"?> \\ <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"> \\ <struts-config> \\ <form-beans> \\ <form-bean name="{color:#ff0000}anotherUserForm{color}" type="com.visualbuilder.struts.beans.AnotherUser" /> \\ </form-beans> \\ <!-- Global Exceptions --> \\ <global-exceptions></global-exceptions> \\ <!-- Global Forwards --> \\ <global-forwards> \\ <forward name="success" path="success.jsp"/>     </global-forwards> \\ <!-- Action Mappings --> \\ <action-mappings> \\ <action path="/{color:#ff0000}addanotheruser{color}" type="com.visualbuilder.struts.action.AddAnotherUserAction" name="{color:#ff0000}anotherUserForm{color}" attribute="user" input="{color:#ff0000}/addanotheruser.jsp{color}" cancellable="true"> \\ </action> \\ </action-mappings> \\ <!-- Message Resources --> \\ <message-resources \\ parameter="registration.resources.ApplicationResources" /> \\ </struts-config>
    My action class is:
    package com.visualbuilder.struts.action;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import com.visualbuilder.struts.beans.AnotherUser;
    public class AddAnotherUserAction extends Action {
    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
    if (isCancelled(request)) {
    return mapping.findForward("welcome");
    {color:#ff0000}AnotherUser anotherUser = (AnotherUser) form;{color}
    System.out.println("UUName: " + anotherUser.getUuname() + "\tGPIN: " + anotherUser.getGpin());
    {color:#ff0000}return mapping.findForward("success");{color}
    My ActionForm class is:
    package com.visualbuilder.struts.beans;
    import javax.servlet.http.HttpServletRequest;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;
    public class AnotherUser extends ActionForm {
    private static final long serialVersionUID = 1058901817587421984L;
    private String uuname;
    private String gpin;
    public String getGpin() {
    return gpin;
    public void setGpin(String gpin) {
    this.gpin = gpin;
    public String getUuname() {
    return uuname;
    public void setUuname(String uuname) {
    this.uuname = uuname;
    @Override
    public void reset(ActionMapping mapping, HttpServletRequest request) {
    uuname = null;
    gpin = null;
    @Override
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
    ActionErrors errors = new ActionErrors();
    return errors;
    The input jsp page is addanotheruser.jsp:
    <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
    <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Another User Registration</title>
    </head>
    <body>
    <h1>Another User Registration</h1>
    <html:errors />
    <table>
    {color:#ff0000}<html:form action="addanotheruser">{color}
    <tr>
    <td>UUName</td>
    <td>{color:#ff0000}<html:text property="uuname"></html:text>{color}*</td>
    </tr>
    <tr>
    <td>GPIN</td>
    <td>{color:#ff0000}<html:text property="gpin"></html:text>{color}*</td>
    </tr>
    <tr>
    <td><html:submit/></td>
    <td><html:cancel/></td>
    </tr>
    </html:form>
    </table>
    </body>
    </html>
    Everytime I access http://localhost:9080/addanotheruser.do, it jumps to the success.jsp, but not stay at addanotheruser.jsp to wait for the user input, and in the server's console, I could see the output "UUName: null GPIN: null"
    I've been stuck at this simple program for three days, could anybody help to find the errors? Thanks a lot.

    sorry, the post looks ugly. Does anybody know how to make the indent not disappear?

  • Approaches for Prepopulating dropdowns in Jsp using struts.

    Hi,
    I'm having a functionality working of pre-populating dropdowns using struts like:
    ArrayList list = getRoles(); //This method will return list of roles
    request.setAttribute("roles", list);
    By setting this collection in the request it will be availbel to <html:select and <html:options> tags for pre-populating. My question here is do we need to set the list (that is to be displayed in the JSP) in request scope deliberately, or there are other better approaches as well to do the same, like using expression language and accessing the method directly.
    Thanks,
    Prashant.

    Why dont you use ActionForm.
    declare a private variable
    //variable
    private List roles=null;
    //methods
    public List getRoles();
    public void setRoles(List roles);and in ActionClass
    ArrayList list = getRoles(); //This method will return list of roles
    form.setRoles(list);This collection object will be available in the jsp forwarded from that action in the scope specified in the struts-config.
    then use
    <html:select>
    <html:options collection="roles" labelProperty="name"     property="id" />
    </html:select>

  • Problem using struts tags in .jsp

    I have a page that fills in the appropriate user information in text fields when viewed. The problem is, i want to have a text field that shows the full name, but i only have getter and setter methods for firstname and lastname in my form bean. Is there a way to combine firstname and lastname to display the fullname using the <html:text> tag ???

    You can use an ActionForm for your view that differs from the bean you are using. DynaActionForm would be ideal because it can be tedious to have a full complement of view beans that mirror your value objects.
    The idea is to loadup a DynaActionForm with the values for the view before the JSP is called in an Action. The following shows the parts of this and some code for execute() that creates DynaActionForm.
    If you have this bean in myapp/Contact.java
    package myapp;
    public class Contact {
    private String firstName,lastName;
    public String getFirstName() { return firstName; }
    public String getLastName() { return lastName; }
    public void setFirstName(String _firstName) { firstName = _firstName; }
    public void setLastName(String _lastName) { lastName = _lastName; }
    }Put this in the appropriatesecions in struts-config.xml
    <form-bean name="ContactActionForm" type="org.apache.struts.action.DynaActionForm">
    <form-property name="fullName" type="java.lang.String"/>
    </form-bean>
    <action path="/showContactForm"
            type="myapp.ShowContactActionForm">
      <forward name="success" path="/contactActionForm.jsp">
    </action>
    <action path="/handleContact"
            name="ContactActionForm"
            type="myapp.HandleContactActionForm">
      <forward name="success" path="/contactActionForm.jsp">
    </action>And for the execute method in the ShowContactActionForm put...
    Contact contact = db.getContact(contactId);
    ModuleConfig mc = _mapping.getModuleConfig();
    FormBeanConfig fbc = mc.findFormBeanConfig("ContactForm");
    DynaActionFormClass dafc =
    DynaActionFormClass.createDynaActionFormClass(fbc);
    DynaActionForm theForm = (DynaActionForm)dafc.newInstance();
    theForm.initialize(_mapping);
    theForm.set("fullName", contact.getFirstName() + " " + contact.getLastName());
    _request.setAttribute("ContactForm", theForm);
    fwd = _mapping.findForward("success");

  • Should we use struts? Or another framework?

    Hi all!
    The company I work at is building a set of java applications (internal tools) and a website (what the clients will use). So our internal tools' users are our employees, and clients will use the website. Anyways, small introduction to get you situated. Also we use an object oriented database system (very high tech stuff I love it) and a JDO mapping to it. Now we are at the stage where all our internal tools are built, and we need to build the website. We will not have MASSIVE traffic to it, the nature of our product is more likely to be used often by a few clients. Our website will have all the standard stuff, like login, my account, mailing list, forum, news feed, menues, and a billing process for our clients, so we need some security.
    All this to ask this simple question, given these parameters, do you think its a good thing for us to use Struts, or would we be ok with just jsp / servlets? For now, we have determined that using an application server is not necessary (we cant use EJB CMP because of JDO, and like I said we dont expect massive traffic), and we are looking for using templates also (Velocity looks good). The bottleneck for us is does it require a big learning curve, considering we are still newbies at jsp / servlets also. We would like to spend no more than 1 to 1 1/2 month to build the website.
    Thanks for your thoughts, sorry for long post :)

    The bottleneck
    for us is does it require a big learning curve,
    considering we are still newbies at jsp / servlets
    also. Struts definitely has a ramp up time -- especially if you are extensively using the taglibs that it comes with (and which provide most of it's power, in my opinion). If you are still ramping up on servlets and such, struts can free you from doing stuff that you would have to figure out for yourself. E.g.
    1. Proper handling of forms to provide validation and little detail things like repopulating them if something goes wrong
    2. Displaying messages back to the end user.
    3. Boring code to get html input from the user and put it into your object model.
    Personally, I think that struts makes it much easier to make robust and consistent applications, especially if multiple developers are working on a project. Also, since it is fairly well known, it's a lot easier to maintain/pickup an app written in struts rather than a custom job. Of course, that means that you don't have as much job security...;)
    So the question to you may be -- given what you know of what you need to do, what do you think will take longer -- building your own framework or learning one that has a fair amount of developer support. Of course everybody could do their own thing and you could spend a month mishmashing it to work together, which isn't unheard of either (although not recommended).
    ncuka

  • How to call URL to collect user input ?

    Hi all,
    I am writing a Swing applications and at some points, I need to call a URL (external web page) to collect user input. It invokes passing certain parameters to web page so that the web page can be displayed in some certain form. After the user input all data in web page, press "submit", my Swing application needs to get the input back. I suppose that calling URL is trivial but how can I get the input back ? Any input will be greatly appreicated.
    Note: the web page will be displayed in one JFrame but it may not related to this problem.
    C.K.

    response.sendRediresc("http://.......);
    public void sendRedirect(java.lang.String location)
                      throws java.io.IOException
        Sends a temporary redirect response to the client using the specified redirect location URL. This method can accept relative URLs; the servlet container must convert the relative URL to an absolute URL before sending the response to the client. If the location is relative without a leading '/' the container interprets it as relative to the current request URI. If the location is relative with a leading '/' the container interprets it as relative to the servlet container root.
        If the response has already been committed, this method throws an IllegalStateException. After using this method, the response should be considered to be committed and should not be written to.
        Parameters:
            location - the redirect location URL
        Throws:
            java.io.IOException - If an input or output exception occurs
            java.lang.IllegalStateException - If the response was committed or if a partial URL is given and cannot be converted into a valid URL

  • Multiline input box in sap screen.

    Can anyone suggest as how to make a multiline input box in SAP normal screen? Is it possiblt thru graphical editor?

    You could use text edit control (text box) using cl_gui_textedit class.
    check out these sample program.
    SAPTEXTEDIT_DEMO_3
    SAPTEXTEDIT_DEMO_1
    Regards
    Raja

Maybe you are looking for

  • How do I add an email for facetime

    I want to give my daughters a different email for her iPod so she can FaceTime and it doesn't come up on my phone. So I set up an email for her and it won't let validate it.  So my question is do I have to make a iTunes account for it to work and if

  • Why Does Time Machine Corrupt Files It Restores?

    Time Machine does not restore MS Word files and documents correctly. In the case of a play I am writing, the formatting is completely off and there are unusual symbols appearing which are not in the original document. In trying to restore FileMaker f

  • Steps for creating a database index

    Do we just create it from SE11? Does Basis needs to be involved for any furthur steps?

  • File type language issue.

    In doing a file search, I notice that my file types are not in English. Document is "Dokument", Plain text is "Alm. tekst" and Safari history item is "Emne i safaris historie". How can I correct this? Curiously how did this happen?

  • Ipad slow to switch on

    Hi The last couple of days I've noticed that my ipad is getting slower when I switch it on stays on the apple logo longer than it has done before what can be wrong withit and how o I fix it