Java Struts2-模型驱动接口的奇怪行为
我的目标是在Struts2操作中获取TestBean类的一个对象,并在jsp页面(视图层)显示其值 我正在我的action类中实现ModelDriven接口,如下所示Java Struts2-模型驱动接口的奇怪行为,java,jsp,struts2,model-driven,Java,Jsp,Struts2,Model Driven,我的目标是在Struts2操作中获取TestBean类的一个对象,并在jsp页面(视图层)显示其值 我正在我的action类中实现ModelDriven接口,如下所示 public class TestAction extends ActionSupport implements ModelDriven<TestBean>{ private TestBean testBeanObject; @Override public TestBean getMode
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;
}
}
它在视图层上反射得非常好
我已经调试了我的代码。它显示对象已初始化,并且在这两种情况下都有正确的值。那么为什么在情况1中它没有反映出来呢
Plz帮助尝试更改
私有TestBean testBeanObject
toprivate TestBean testBeanObject=new TestBean()代码>。初始化它。为什么要使用/需要ModelDriven?如何访问JSP中的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;
}
<s:textarea id="textarea1" class="longinput" name="firstProperty" value="%{firstProperty}"></s:textarea>
<s:textarea id="textarea2" class="longinput" name="secondProperty" value="%{secondProperty}"></s:textarea>
testBeanObject.setFirstProperty("FirstProperty");
testBeanObject.setSecondProperty("SecondProperty");