标签:demo pre 标签 value 一个 log 创建 bsp string
前言:使用ognl和struts2标签库的时候要在 jsp页面 中 加入这么一行
<%@ taglib uri="/struts-tags" prefix="s" %>
struts(统一格式):
<action name="ognl" class="com.demo.test1.OnglAction" method="ognl1"> <result name="ognl1" >/OnglPage.jsp</result> </action>
User(统一用一个User):
public class User { String username; String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
===============================================================================================================================================================
一、直接向值栈中存放数据
action:
/** * 一、直接以键值对的形式设置(创建)值栈stack * @return */ public String ognl1(){ ValueStack stack = ActionContext.getContext().getValueStack(); stack.set("username", "name1");//创建一个值栈的key stack.setValue("username", "name2");//对已有的值栈的value进行修改 return "ognl1"; }
jsp:
直接以键值对的形式设置(创建)值栈stack:<br> <s:property value="username"/> <br>
就可以在jsp页面中看到 name2
================================================================================================================================================================
二、向值栈中存放对象
action:
/** * 二、存储对象 * 1、声明user * 2、创建getUser方法 * 3、设置user实例的属性值 * 创建user实例的时候就已经放进了值栈中 */ User user; public User getUser() { return user; } public String ognl2(){ user=new User(); user.setUsername("张三"); user.setPassword("123456"); return "ognl2"; }
jsp:
向值栈中存放对象并显示:<br> <s:property value="user.username"/><br> <s:property value="user.password"/>
================================================================================================================================================================
三、值栈中存放list集合
action:
/** * 三、值栈中存放list集合 */ //获得user和list实例 User user1=new User(); User user2=new User(); User user3=new User(); ArrayList<User> list=new ArrayList<User>(); //获得get方法 public User getUser1() { return user1; } public User getUser2() { return user2; } public User getUser3() { return user3; } public ArrayList<User> getList() { return list; } public String ognl3(){ //设置user的值 user1.setUsername("name1"); user1.setPassword("pwd1"); user2.setUsername("name2"); user2.setPassword("pwd2"); user3.setUsername("name3"); user3.setPassword("pwd3"); //user加入list集合 list.add(user1); list.add(user2); list.add(user3); return "ognl3"; }
jsp:
向值栈中存放list:<br> <s:property value="list[0].username"/><br> <s:property value="list[0].password"/><br> list遍历list取值<!-- 遍历list方式取值 --> <s:iterator value="list" > <s:property value="username"/> <s:property value="password"/><br> </s:iterator>
1 在struts2标签中表单标签 (1)在struts2标签里面使用ognl表达式,如果直接在struts2表单标签里面使用ognl表达式不识别,只有%之后才会识别。
|
标签:demo pre 标签 value 一个 log 创建 bsp string
原文地址:http://www.cnblogs.com/sovagxa/p/7536918.html