Пожалуйста, скачайте этот и запустите его.Я думаю, что стоит попробовать, хотя это будет немного раздражать.
В методе execute класса действия, если вы установите компонент методом, возвращающим компоненты, Modeldriven не будет работать в JSP (<s:property "someField" />
wonне работает, поэтому вы должны ввести имя экземпляра компонента следующим образом: <s:property "myBean.someField" />
).
Но если вы установите значение поля компонента, Modeldriven будет работать.
Я знаю, что вы не можетеповерь мне и думай, что я сделал что-то не так.Но это не правда!Просто попробуйте ..
public class DefaultClass extends ActionSupport implements ModelDriven<TestBean> {
TestBean test = new TestBean();
DAO db = DAO.getInstance();
public String access() throws Exception {
//Beans setter doesn't work!
setTest( db.getTest() );
return SUCCESS;
}
public String access2() throws Exception {
//Field setter works!
test.setA(db.getA());
test.setB(db.getB());
return SUCCESS;
}
Я не знал, что я только что нашел.Поэтому я задаю этот вопрос .И как мой собственный ответ, если я подтолкну бин к стеку значений, Modeldriven сработает.
Интересно, почему в этом нет сомнений?Я думаю, что это серьезная проблема.