⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 struts 2中的ognl - max on java - blogjava.htm

📁 struts2标签的详细解释说明教程
💻 HTM
📖 第 1 页 / 共 5 页
字号:
align=top> &nbsp; &nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG 
src="Struts 2中的OGNL - Max On Java - BlogJava.files/ExpandedBlockEnd.gif" 
align=top>}</SPAN></SPAN></DIV><SPAN 
style="FONT-SIZE: smaller; FONT-STYLE: italic">清单2 
src/tutorial/action/OgnlAction.java</SPAN> <BR>
<P>以上代码分别在request、session和application的范围内添加“userName”属性,然后再在JSP页面使用OGNL将其取回。我还创建了Book对象的列表用于演示“用于过滤和投影(projecting)集合”的功能,至于Book的代码大家可以在我前一文章《<A 
href="http://www.blogjava.net/max/archive/2007/04/13/110310.html">在Struts 
2中实现CRUD</A>》看到。</P>
<P>下面是Ognl.jsp的代码,内容如下:</P>
<DIV 
style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #ffff00">&lt;%</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">@ page language</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">java</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> contentType</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">text/html; 
charset=utf-8</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> pageEncoding</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">utf-8</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #ffff00">%&gt;</SPAN><SPAN 
style="COLOR: #000000"><BR></SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #ffff00">&lt;%</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">@ taglib prefix</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">s</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> uri</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">=</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">/struts-tags</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5">"</SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #f5f5f5"> </SPAN><SPAN 
style="COLOR: #000000; BACKGROUND-COLOR: #ffff00">%&gt;</SPAN><SPAN 
style="COLOR: #000000"><BR><BR></SPAN><SPAN 
style="COLOR: #0000ff">&lt;!</SPAN><SPAN style="COLOR: #ff00ff">DOCTYPE html 
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">html </SPAN><SPAN 
style="COLOR: #ff0000">xmlns</SPAN><SPAN 
style="COLOR: #0000ff">="http://www.w3.org/1999/xhtml"</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR></SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">head</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR>&nbsp; &nbsp; 
</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN 
style="COLOR: #800000">title</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000">Struts OGNL Demo</SPAN><SPAN 
style="COLOR: #0000ff">&lt;/</SPAN><SPAN 
style="COLOR: #800000">title</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN 
style="COLOR: #800000">head</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN 
style="COLOR: #800000">body</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000"> &nbsp; &nbsp;<BR>&nbsp; &nbsp; </SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">h3</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000">访问OGNL上下文和Action上下文</SPAN><SPAN 
style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">h3</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR>&nbsp; &nbsp; 
</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN 
style="COLOR: #800000">p</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000">parameters: </SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">s:property 
</SPAN><SPAN style="COLOR: #ff0000">value</SPAN><SPAN 
style="COLOR: #0000ff">="#parameters.userName"</SPAN><SPAN 
style="COLOR: #ff0000"> </SPAN><SPAN 
style="COLOR: #0000ff">/&gt;&lt;/</SPAN><SPAN 
style="COLOR: #800000">p</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000"><BR>&nbsp; &nbsp; </SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">p</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000">request.userName: 
</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN 
style="COLOR: #800000">s:property </SPAN><SPAN 
style="COLOR: #ff0000">value</SPAN><SPAN 
style="COLOR: #0000ff">="#request.userName"</SPAN><SPAN style="COLOR: #ff0000"> 
</SPAN><SPAN style="COLOR: #0000ff">/&gt;&lt;/</SPAN><SPAN 
style="COLOR: #800000">p</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000"><BR>&nbsp; &nbsp; </SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">p</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000">session.userName: 
</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN 
style="COLOR: #800000">s:property </SPAN><SPAN 
style="COLOR: #ff0000">value</SPAN><SPAN 
style="COLOR: #0000ff">="#session.userName"</SPAN><SPAN style="COLOR: #ff0000"> 
</SPAN><SPAN style="COLOR: #0000ff">/&gt;&lt;/</SPAN><SPAN 
style="COLOR: #800000">p</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000"><BR>&nbsp; &nbsp; </SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">p</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000">application.userName: </SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">s:property 
</SPAN><SPAN style="COLOR: #ff0000">value</SPAN><SPAN 
style="COLOR: #0000ff">="#application.userName"</SPAN><SPAN 
style="COLOR: #ff0000"> </SPAN><SPAN 
style="COLOR: #0000ff">/&gt;&lt;/</SPAN><SPAN 
style="COLOR: #800000">p</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000"><BR>&nbsp; &nbsp; </SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">p</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000">attr.userName: 
</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN 
style="COLOR: #800000">s:property </SPAN><SPAN 
style="COLOR: #ff0000">value</SPAN><SPAN 
style="COLOR: #0000ff">="#attr.userName"</SPAN><SPAN style="COLOR: #ff0000"> 
</SPAN><SPAN style="COLOR: #0000ff">/&gt;&lt;/</SPAN><SPAN 
style="COLOR: #800000">p</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000"><BR>&nbsp; &nbsp; </SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">hr </SPAN><SPAN 
style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"><BR>&nbsp; 
&nbsp; </SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN 
style="COLOR: #800000">h3</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000">用于过滤和投影(projecting)集合</SPAN><SPAN 
style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">h3</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR>&nbsp; &nbsp; 
</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN 
style="COLOR: #800000">p</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000">Books more than $35</SPAN><SPAN 
style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">p</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR>&nbsp; &nbsp; 
</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN 
style="COLOR: #800000">ul</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000"><BR>&nbsp; &nbsp; &nbsp; &nbsp; </SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">s:iterator 
</SPAN><SPAN style="COLOR: #ff0000">value</SPAN><SPAN 
style="COLOR: #0000ff">="books.{?#this.price &gt; 35}"</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR>&nbsp; &nbsp; 
&nbsp; &nbsp; &nbsp; &nbsp; </SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN 
style="COLOR: #800000">li</SPAN><SPAN 
style="COLOR: #0000ff">&gt;&lt;</SPAN><SPAN style="COLOR: #800000">s:property 
</SPAN><SPAN style="COLOR: #ff0000">value</SPAN><SPAN 
style="COLOR: #0000ff">="title"</SPAN><SPAN style="COLOR: #ff0000"> </SPAN><SPAN 
style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"> - $</SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">s:property 
</SPAN><SPAN style="COLOR: #ff0000">value</SPAN><SPAN 
style="COLOR: #0000ff">="price"</SPAN><SPAN style="COLOR: #ff0000"> </SPAN><SPAN 
style="COLOR: #0000ff">/&gt;&lt;/</SPAN><SPAN 
style="COLOR: #800000">li</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000"><BR>&nbsp; &nbsp; &nbsp; &nbsp; </SPAN><SPAN 
style="COLOR: #0000ff">&lt;/</SPAN><SPAN 
style="COLOR: #800000">s:iterator</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR>&nbsp; &nbsp; 
</SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN 
style="COLOR: #800000">ul</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000"><BR>&nbsp; &nbsp; </SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">p</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000">The price of 
"Code Complete, Second Edition" is: </SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">s:property 
</SPAN><SPAN style="COLOR: #ff0000">value</SPAN><SPAN 
style="COLOR: #0000ff">="books.{?#this.title=='Code Complete, Second 
Edition'}.{price}[0]"</SPAN><SPAN style="COLOR: #0000ff">/&gt;&lt;/</SPAN><SPAN 
style="COLOR: #800000">p</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000"><BR>&nbsp; &nbsp; </SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">hr </SPAN><SPAN 
style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"><BR>&nbsp; 
&nbsp; </SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN 
style="COLOR: #800000">h3</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000">构造Map</SPAN><SPAN 
style="COLOR: #0000ff">&lt;/</SPAN><SPAN style="COLOR: #800000">h3</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN><SPAN style="COLOR: #000000"><BR>&nbsp; &nbsp; 
</SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN 
style="COLOR: #800000">s:set </SPAN><SPAN 
style="COLOR: #ff0000">name</SPAN><SPAN 
style="COLOR: #0000ff">="foobar"</SPAN><SPAN style="COLOR: #ff0000"> 
value</SPAN><SPAN style="COLOR: #0000ff">="#{'foo1':'bar1', 
'foo2':'bar2'}"</SPAN><SPAN style="COLOR: #ff0000"> </SPAN><SPAN 
style="COLOR: #0000ff">/&gt;</SPAN><SPAN style="COLOR: #000000"><BR>&nbsp; 
&nbsp; </SPAN><SPAN style="COLOR: #0000ff">&lt;</SPAN><SPAN 
style="COLOR: #800000">p</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000">The value of key "foo1" is </SPAN><SPAN 
style="COLOR: #0000ff">&lt;</SPAN><SPAN style="COLOR: #800000">s:property 
</SPAN><SPAN style="COLOR: #ff0000">value</SPAN><SPAN 
style="COLOR: #0000ff">="#foobar['foo1']"</SPAN><SPAN style="COLOR: #ff0000"> 
</SPAN><SPAN style="COLOR: #0000ff">/&gt;&lt;/</SPAN><SPAN 
style="COLOR: #800000">p</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN 
style="COLOR: #800000">body</SPAN><SPAN style="COLOR: #0000ff">&gt;</SPAN><SPAN 
style="COLOR: #000000"><BR></SPAN><SPAN style="COLOR: #0000ff">&lt;/</SPAN><SPAN 
style="COLOR: #800000">html</SPAN><SPAN 
style="COLOR: #0000ff">&gt;</SPAN></DIV><SPAN 
style="FONT-SIZE: smaller; FONT-STYLE: italic">清单3 WebContent/Ognl.jsp</SPAN> 
<P>以上代码值得注意的是“<SPAN style="BACKGROUND-COLOR: lightgrey">&lt;s:property 
value="books.{?#this.title=='Code Complete, Second 
Edition'}.{price}[0]"/&gt;</SPAN>”,因为“<SPAN 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -