我的目标是在 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中没有反映。
请帮忙