当我在另外两个POJO类中声明字段变量时,我想在struts2操作类中自动设置jsp文本字段值

当我在另外两个POJO类中声明字段变量时,我想在struts2操作类中自动设置jsp文本字段值,struts2,Struts2,我不想在Action类中再次声明这些变量 员工POJO: package com.pojo; import java.io.Serializable; public class Employee{ String name; Address address; public String getName() { return name; } public void setName(String name) { this

我不想在Action类中再次声明这些变量

员工POJO:

package com.pojo;

import java.io.Serializable;

public class Employee{

    String name;
    Address address;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

}
地址POJO:

package com.pojo;

import java.io.Serializable;

public class Address{


    String email;

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }               
}
JSP:


我想在Action类中自动填充值并设置值


有人能帮我吗……。

在带有getter/setter的action类中有两个对象

private Address address = new Address();
private Employee employee = new Employee();;
然后在jsp中执行以下操作:

<body>
    <s:form action="beanEx">    
        <s:textfield name="employee.name" label="name"/>
        <s:textfield name="address.email" label="email"/>    
        <s:submit value="Submit"/>    
    </s:form>    
</body>


基本上,之前您指向的是字段,现在您指向的是对象内部的字段。

当我从Jsp检索到Action类时,它显示NullPointer异常。单击“提交”后,如果进行调试,您将发现您的地址和员工对象中充满了Jsp中的数据,如果您按照上面的代码进行操作,但我们必须添加for name属性,例如:哦,是的,我的错,我没有在运行时检查此代码:)
<body>
    <s:form action="beanEx">    
        <s:textfield name="employee.name" label="name"/>
        <s:textfield name="address.email" label="email"/>    
        <s:submit value="Submit"/>    
    </s:form>    
</body>