Prepopulating Formular mit Textfeldern-bean-Standard-Wert in Struts2

In Struts 1.x , ich habe bereits die Formen, Textfeldern Verwendung von Formular-bean mit Standard-Werten wie folgt,

<html:form action="/actions/signup1">
First name: <html:text property="firstName"/><BR>

In der Formular-bean, ich habe default-Wert wie folgt...

public class ContactFormBean {
private String firstName = "First name";

Aber in Struts 2.x , wenn ich versuchte, mit struts-tags textfield Sie wie folgt vor, Ihr nicht prepopulating der default-Wert aus der bean,

<s:form action="signup1">
    <s:textfield name="formBean.firstName" label = "First Name" />

Habe ich die formBean erklärt in meiner Action-Klasse wird wie folgt mit entsprechenden getter-und setter-Methoden...

public class SignupAction1 extends ActionSupport {
private ContactFormBean formBean;
@Override
    public String execute() throws Exception {
....
}
    public ContactFormBean getFormBean(){
        return formBean;
    }
    public void setFormBean(ContactFormBean fb){
        formBean = fb;
    }
}

Bitte lassen Sie mich wissen, wenn dies erreicht werden kann, auf Anfrage-Ebene und nicht auf session-Ebene.
Vielen Dank im Voraus.

<--Bearbeitet-->

struts.xml

<struts>

    <constant name="struts.devMode" value="true" />

    <package name="basicstruts2" extends="struts-default">

        <action name="index">
            <result>/index.jsp</result>
        </action>
        <action name="signup">
            <result>/SignUp.jsp</result>
        </action>


    <action name="signup1" class="coreservlets.action.SignupAction1" method="execute">
    <result name="success">/SignUp-Confirmation.jsp</result>
    <result name="error">/SignUp.jsp</result>

  </action>



    </package>

</struts>

Anmeldung.jsp

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Sign UP</title>
</head>
<body>
<H1 ALIGN="CENTER">Sign Up</H1>
<s:form>
    <s:textfield name="formBean.firstName" label = "First Name" />
    <s:textfield name="formBean.lastName" label = "Last Name" />
    <s:textfield name="formBean.email" label = "Email Address" />
    <s:textfield name="formBean.faxNumber" label = "Fax Number" />
    <s:submit action="signup1" method="loginAfterSubmit" value="Click here to Submit"/>
</s:form>
</body>
</html>

ContactFormBean.java

public class ContactFormBean {
    private String firstName = "First name";
    private String lastName = "Last name";
    private String email = "user@host";
    private String faxNumber = "xxx-yyy-zzzz";


    public String getFirstName() {
    return this.firstName;
    }
    public void setFirstName(String firstName) {
    this.firstName = firstName;
    }
    public String getLastName() {
    return(lastName);
    }
    public void setLastName(String lastName) {
    this.lastName = lastName;
    }
    public String getEmail() {
    return(email);
    }
    public void setEmail(String email) {
    this.email = email;
    }
    public String getFaxNumber() {
    return(faxNumber);
    }
    public void setFaxNumber(String faxNumber) {
    this.faxNumber = faxNumber;
    }
public boolean isMissing(String value) {
        if ((value == null) || (value.trim().equals(""))) {
        return(true);
        } else {
        for(int i=0; i<defaultValues.length; i++) {
        if (value.equals(defaultValues[i])) {
        return(true);
        }
        }
        return(false);
        }
        }

}

SignupAction1.java

public class SignupAction1 extends ActionSupport {

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private ContactFormBean formBean;

    @Override
    public String execute() throws Exception {
        this.formBean = new ContactFormBean();
        return SUCCESS;

    }

    public String loginAfterSubmit() {

        String firstName = formBean.getFirstName();
        String lastName = formBean.getLastName();
        String email = formBean.getEmail();
        String faxNumber = formBean.getFaxNumber();
        if (formBean.isMissing(firstName)) {
        return ERROR;
        } else if (formBean.isMissing(lastName)) {
        return ERROR;
        } else if ((formBean.isMissing(email)) ||
        (email.indexOf("@") == -1)) {
        return ERROR;
        } else if (formBean.isMissing(faxNumber)) {
        return ERROR;
        } else {
        return SUCCESS;
        }
    }


    public ContactFormBean getFormBean(){
                return this.formBean;
    }
    public void setFormBean(ContactFormBean fb){
        formBean = fb;
    }

}
InformationsquelleAutor Gopi | 2012-11-16
Schreibe einen Kommentar