1

我的目标是在 Struts2 Action 中获取 TestBean 类的对象并在 jsp 页面(视图层)显示其值

我正在将 ModelDriven 接口实现到我的操作类中,如下所示

public class TestAction extends ActionSupport implements ModelDriven<TestBean>{

    private TestBean testBeanObject;

    @Override
    public TestBean getModel() {
        return testBeanObject;
    }

    @Override
    public String execute(){

        testBeanObject = getting object of TestBean Class from business layer (It is having all the value whatever I want)

        return ActionSupport.SUCCESS;
    }
}

我的 TestBean 类代码

@实体

@Table(name="test_bean") 
public class TestBean implements Serializable { 
private static final long serialVersionUID = 1L; 

@Id 
@Column(name="test_bean_id") 
private int testBeanId; 

private String firstProperty; 

private String secondProperty; 


@OneToMany(mappedBy="testBeanPaper", fetch = FetchType.LAZY) 
private List<PapersText> papersTexts; 

public TestBean() { 
} 

public String getFirstProperty() { 
   return this.firstProperty; 
} 

public void setFirstProperty(String firstProperty) { 
   this.firstProperty = firstProperty; 
} 

public String getSecondProperty() { 
   return this.secondProperty; 
} 

public void setSecondProperty(String secondProperty) { 
   this.secondProperty = secondProperty; 
} 

public List<PapersText> getPapersTexts() { 
   return this.papersTexts; 
} 

public void setPapersTexts(List<PapersText> papersTexts) { 
   this.papersTexts = papersTexts; 
}  

}

我的jsp页面代码是

<s:textarea id="textarea1" class="longinput" name="firstProperty" value="%{firstProperty}"></s:textarea> 

<s:textarea id="textarea2" class="longinput" name="secondProperty" value="%{secondProperty}"></s:textarea> 

在视图层(Jsp 页面),我有与 TestBean 类的属性同名的文本字段。

现在的问题是

情况1。

如果我从另一个类中获取 TestBean 类对象(如上所示),则值不会反映在 jsp 页面上。甚至 TestBean 对象也被完美初始化

案例2。

在动作类中,如果我手动设置 TestBean 类的属性值,例如

testBeanObject.setFirstProperty("FirstProperty");
testBeanObject.setSecondProperty("SecondProperty");

它在视图层完美反射。

我已经调试了我的代码。它表明对象已初始化并且在两种情况下都具有正确的值。那么为什么它在case 1中没有反映。

请帮忙

4

0 回答 0