johnson5855 发表于 2011-12-21 08:44

struts中#、%和$这三个符号的使用方法(很实用的)

<span class="Apple-style-span" style="color: rgb(50, 62, 50); font-family: simsun; line-height: 21px; ">struts中#、%和$这三个符号的使用方法【摘自max struts2教程】</span><div id="sina_keyword_ad_area2" class="articalContent" style="color: rgb(50, 62, 50); width: 690px; clear: both; padding-top: 18px; font-size: 14px; line-height: 21px; padding-bottom: 30px; word-wrap: normal; word-break: normal; overflow-x: hidden; overflow-y: hidden; font-family: simsun; "><table style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: normal; width: 690px; table-layout: fixed; "><tbody><tr><td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 12px; font-family: Verdana, 宋体, sans-serif; line-height: 18px; "><div><div>一、"#"的用法<br>&nbsp;&nbsp;&nbsp;1、 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();下表有几个ActionContext中有用的属性:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parameters 包含当前HTTP请求参数的Map #parameters.id作用相当于request.getParameter("id")<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request 包含当前HttpServletRequest的属性(attribute)的Map #request.userName相当于request.getAttribute("userName")<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;session 包含当前HttpSession的属性(attribute)的Map #session.userName相当于session.getAttribute("userName")<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;application 包含当前应用的ServletContext的属性(attribute)的Map #application.userName相当于application.getAttribute("userName")<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;attr 用于按request &gt; session &gt; application顺序访问其属性(attribute) #attr.userName相当于按顺序在以上三个范围(scope)内读取userName属性,直到找到为止<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2、用于过滤和投影(projecting)集合,如books.{?#this.price&lt;100};<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3、构造Map,如#{'foo1':'bar1', 'foo2':'bar2'}。<br><br>二、"%"的用法<br><br>&nbsp;&nbsp;&nbsp;&nbsp;“%”符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。例如在Ognl.jsp中加入以下代码:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;h3&gt;%的用途&lt;/h3&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;&lt;s:url value="#foobar['foo1']" /&gt;&lt;/p&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;&lt;s:url value="%{#foobar['foo1']}" /&gt;&lt;/p&gt;<br><br>三、"$"的用法<br><br>&nbsp;&nbsp;&nbsp;&nbsp;1、用于在国际化资源文件中,引用OGNL表达式<br><br>&nbsp;&nbsp;&nbsp;&nbsp;2、在Struts 2配置文件中,引用OGNL表达式<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;例如:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;action name="AddPhoto" class="addPhoto"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;interceptor-ref name="fileUploadStack" /&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;result type="redirect"&gt;ListPhotos.action?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;albumId=${albumId}&lt;/result&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/action&gt;</div></div></td></tr></tbody></table></div>
页: [1]
查看完整版本: struts中#、%和$这三个符号的使用方法(很实用的)