<s:property value="username"/>
<s:property value="password"/><br/>
<!-- 获取集合中的数据 -->
<s:property value="list[0].username"/>
<s:property value="list[0].password"/><br/>
<s:property value="list[1].username"/>
<s:property value="list[1].password"/><br/>
<s:property value="list[2].username"/>
<s:property value="list[2].password"/><br/>
<!-- 获取context中的数据 -->
<s:property value="#request.name"/>
<s:property value="#session.name"/>
<s:property value="#application.name"/>
<s:property value="#attr.name"/>
<s:property value="#parameters.id"/>

结果:
注意: attr获取请求中的数据. 如果请求中没有数据,则获取会话中的数据. 如果会话中没有数据,则获取应用程序中的数据.
request.getAttribute(String name)方法已得到增强. 因此,在struts2框架中,EL表达式也可以用于获取对象.
获取上下文数据
建立地图集
<body>
<h1>#的用法</h1>
<h3>1.获取context数据</h3>
<%
request.setAttribute("aloha", "go down");
%>
<s:property value="#request.aloha"/>
<h3>2.创建map集合</h3>
<s:iterator var="i" value="{'aa','bb','cc','dd'}"><!-- 默认把这个装为list集合 -->
<s:property value="i"/> -- <s:property value="#i"/><br/>
</s:iterator><br/>
<h3>3.创建map集合</h3>
<s:iterator value="#{'aa':'11','bb':'22','cc':'33'}">
<s:property value="key"/> -- <s:property value="value"/><br/>
</s:iterator><br/>
<s:iterator var="entry" value="#{'aa':'11','bb':'22','cc':'33'}">
<s:property value="#entry.key"/> -- <s:property value="#entry.value"/><br/>
</s:iterator>
<hr/>
<s:radio list="{'男','女'}" name="sex" label="性别" /><br/>
<s:radio list="#{'1':'男','2':'女' }" name="sex1" label="性别(Map)" />
<s:debug></s:debug>
</body>
收音机中的1和2构成地图集合的键,其作用与标记中的值相同. 地图集合的值等同于输入标签之外的显示.
1. OGNL的力分析
应用场景: struts2标签不能嵌套. 例如,如果要为s: textfield文本框分配一个值,则不能直接在其中放置OGNL表达式,也不能直接编写它.
我们将其写入%{},可以强制对其进行解析
<%
request.setAttribute("aloha", "love_java");
%>
what aloha love?<s:textfield name="aloha" value="%{#request.aloha}" />
2. 强制不解决OGNL(不常用)
我们将表达式写在%{''}中,以强制不对其进行解析
用于配置文件(xml,属性文件)中,属性文件主要用于国际化,我国制造的软件未国际化!怎么样?
从配置文件中的值堆栈中获取变量的值. 例如,在配置文件中提供了一个下载链接,以在值堆栈中提供一个链接.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-259275-2.html
>我自愿为国家尊严而战
我的儿女们也会继续这样做