1、使用struts2的标签+ognl表达式获取值栈数据
(1)<s:property value = "ognl表达式"/>
获取字符串
(1)首先我们先给list里面放一个数据,然后再在我们页面显示出来,接下来,我们就放数据:
package com.manman.Valuestack;
import com.opensymphony.xwork2.ActionSupport;
public class Valuestack extends ActionSupport {
private String username;
public String getUsername() {
return username;
}
public String execute() throws Exception {
username="itcast";
return "success";
}
}
配置:
<action name="ValueDemo" class="com.manman.Valuestack.Valuestack">
<result name="success">/value.jsp</result>
</action>
现在我从jsp页面获取一下值:
<s:property value="username"/>
使用这个标签就可以获取到他的值。它通过username找到他的getusername,然后根据返回值,找到username的值。
获取对象
既然想获取值栈中的对象,那就得先给里面放一个对象
(1)先给里面存一个对象:
package com.manman.Object;
import com.manman.cm.User;
import com.opensymphony.xwork2.ActionSupport;
public class ObjectDemo extends ActionSupport{
private User user = new User();
public User getUser() {
return user;
}
@Override
public String execute() throws Exception {
user.setUsername("Alisa");
user.setPassword("1607");
user.setAddress("国际");
return SUCCESS;
}
}
然后我们来配置xml:
<action name="ObjectDemo" class="com.manman.Object.ObjectDemo">
<result name="success">/value.jsp</result>
</action>
存进了对象,现在来在jsp页面通过标签获取:
username:<s:property value="user.username"/><br><br>
password:<s:property value="user.password"/><br><br>
address:<s:property value="user.address"/><br><br>
我们可以通过上面的获取到对象,结果如下:
image.png
获取list集合
第一种方式:跟之前一样,先要想list里面放入值
package com.manman.List;
import java.util.ArrayList;
import java.util.List;
import com.manman.cm.User;
import com.opensymphony.xwork2.ActionSupport;
public class ListDemo extends ActionSupport {
private List<User> list = new ArrayList<User>();
public List<User> getList() {
return list;
}
@Override
public String execute() throws Exception {
//3向list中设置值
User user1 = new User();
user1.setUsername("doudou");
user1 .setPassword("520");
user1.setAddress("zhang");
User user2 = new User();
user2.setUsername("Alisa");
user2.setPassword("222");
user2.setAddress("xu");
list.add(user1);
list.add(user2);
return SUCCESS;
}
}
然后我们同之前一样,配置xml:
<action name="ListDemo" class="com.manman.List.ListDemo">
<result name="success">/value.jsp</result>
</action>
数据存放好了以后,接下来就是获取list集合中的值:
<!-- 使用strut2标签类似jstl的foreach标签 -->
<s:iterator value="list">
<s:property value="username"/>
<s:property value="password"/>
<s:property value="address"/>
</s:iterator>
iterator:迭代器,可以循环获取。
因为我们存进值栈中的值是list集合,所以前面的value是list。好了,来看运行结果:
image.png
网友评论