11级_Java_曹建波 03.06 Struts2_ognl

Action中存值

publicStringognltest1(){

ActionContextac=ActionContext.getContext();

ac.put("username","request-chenhj");

ac.getSession().put("username","session-chenhj");

ac.getApplication().put("username","application-chenhj");

ac.put("user",newUsers(1,"张三","123","aaaa@qq.com"));

ac.getSession().put("user",newUsers(2,"lisi","1ad2adad3","aaddfggaaa@qq.com"));

ac.getApplication().put("user",newUsers(3,"adada","1ad23","adada@qq.com"));

returnSUCCESS;

}

//jsp页面中取值

<divalign="center">

<divid="ognl1">

<h3>显示request,session,application采用ognl表达式</h3><br>

request:<s:propertyvalue="#request.username"/><br>

session:<s:propertyvalue="#session.['username']"/><br>

application:<s:propertyvalue="#application.username"/><br>

</div>

</div>

讲解:

privateUseruser;

必须提供get方法才能在页面中通过上述标签获取

如果在域中直接存放对象也可以采用上面的标签获取

分析:

第一个案例:struts_scope案例

第二个案例:struts_ognl

Context--_rootvalueStackroot是一样

Root;值栈

如果访问action之后比如:UserAction_ognltest1.action

Root第一个对象:当前Action

第二个对象:DefaultTextProvider

对象栈:

valueSack.getRoot().add(newUsers(1,”chenhj”,”123”,”chenhj@qq.com”));

valueSack.getRoot().add(newUsers(2,”zhangsan”,”123”,”zhangsan@qq.com”));

valueSack.getRoot().add(0,newUsers(1,”chenhj”,”123”,”chenhj@qq.com”));

valueSack.getRoot().add(1,newUsers(2,”zhangsan”,”123”,”zhangsan@qq.com”));

语法#{key:value,key1:value1,key2:value2}

案例:

<s:iteratorvar="entity"value="#{1:'chenhj',2:'caojianbo',3:'liqiang'}">

<s:propertyvalue="key"/>

<s:propertyvalue="value"/>

<%--<s:propertyvalue="#entity.key"/>

<s:propertyvalue="#entity.value"/>--%>

</s:iterator>

构造List

语法:{value1value2,value3}

<s:iteratorvar="edu"value="{'java','php','3g'}">

<s:property/>

<s:propertyvalue="edu"/>

</s:iterator>

单选按钮:

<s:radiolist="#{'w':'女','m':'男'}"listKey="key"listValue="value"value="'w'"></s:radio>

<br>

<s:radioname="sex"list="#{'1':'男','0':'女'}"value="'0'"></s:radio>

<br>

<s:radiolist="{'女','男'}"value="'女'"></s:radio>

多选按钮:

<s:checkboxlabel="看书"name="fav"></s:checkbox>

<s:checkboxlabel="打篮球"name="fav"></s:checkbox>

<s:checkboxlabel="写字"name="fav"></s:checkbox>

<s:checkboxlabel="读书"name="fav"></s:checkbox>

<br>

<s:checkboxlistname="fav"list="{'看书','打篮球','写字','读书'}"value="{'读书','打篮球'}"/>

<br>

<s:checkboxlistname="fav"list="#{1:'看书',2:'打篮球',3:'写字',4:'读书'}"listKey="key"listValue="value"value="{1,2,3}"/>

下拉列表:

<s:selectlabel="Months"name="moths"headerKey="-1"headerValue="选择月份"list="#{'01':'Jan','02':'Feb','03':'Mat'}"value="selectedMonth"required="false"></s:select>

<br>

<s:selectlist="{'java','3g','php','.net'}"label="选择专业"name="edu"value="'.net'"></s:select>

<br>

<s:selectlist="#{1:'瑜伽',2:'户外'}"name="map"value="1"></s:select>

<hr>

if标签:

<s:iftest="'Java'notin{'Java','Net'}">

Javain

</s:if>

<s:else>

Javanotin

</s:else>

Set标签

<s:setvar="msg"value="'aaa<br/>aaaaaa'"scope="request"></s:set>

<s:propertyvalue="#requestmsg"escape="false"/>

<hr>

push:

<s:pushvalue="'abc'">

<s:property/>

</s:push>

<hr>

Bean标签:

<s:beanname="www.csdn.struts2_tag.domain.Users"var="myUsers">

<s:paramname="id"value="1"/>

<s:paramname="name"value="'hahaha'"/>

<s:paramname="pass"value="'123'"/>

<s:paramname="email"value="'sdadsadsa@asdasd.as'"/>

<s:propertyvalue="name"/>

</s:bean>

输出1:

<s:propertyvalue="#myUsers.name"/>

<s:setvar="user"value="#myUsers"></s:set>

输出2:

<s:propertyvalue="#user.name"/>

<hr>

iterator标签:

<tableborder="1">

<s:iteratorvar="name"value="{'java','net','php','3g'}"status="st">

<trclass="<s:propertyvalue='#st.even?"even":"odd"'/>">

<td>

<s:propertyvalue="name"/>

</td>

</tr>

</s:iterator>

</table>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值