--- red phoenix <[EMAIL PROTECTED]> wrote: > I use struts2.0.11, I use Hibernate to get data and put it into attribute > in > struts2 action,like follows: > public String show() throws Exception{ > request=ServletActionContext.getRequest(); > List myList=this.getHibernateTemplate().find("from test.MyModel"); > request.setAttribute("myList",myList); > return SUCCESS; > } > > Hibernate mapping file is follows: > <hibernate-mapping> > <class name="test.MyModel" table="Test"> > <id name="id" column="id" type="java.lang.String"> > <generator class="assigned"/> > </id> > <property name="cname" type="java.lang.String"> > <column name="name" length="50" not-null="false" /> > </property> > > Then I want to show myList by using <s:select> tag,like follows: > <s:select label="Myname" headerKey="-1" headerValue="choose" > list="%{myList}" listKey="MyModel.id" listValue="MyModel.cname" />
You're referring to the property as a value on the value stack, which it is not. You'd need to either use JSP EL notation, ${myList}, or make myList a property of the action class. I would recommend the latter, since that would be canonical S2, and almost every single piece of documentation uses S2 in that fashion. > I have searched google for several days,but I don't find how to solve it. You should also look at the S2 documentation wiki. > List myList=this.getHibernateTemplate().find("from test.MyModel"); I would also be wary of tying your action code so closely to Hibernate. In general it's considered better implementation to put functionality like this into a service object. This allows the injection of the service object into the action via any of several IoC methodologies and makes it easier to test the action in isolation. Dave --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]