﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-junmy不断地学习-随笔分类-struts</title><link>http://www.blogjava.net/wujun/category/8898.html</link><description>不断地学习
&lt;br&gt;
踏踏实实做技术....学而不思则罔，思而不学则殆。——《论语·为政》
&lt;br&gt;
...&lt;!--
target=_blank
&lt;font color=red&gt;

&lt;script type="text/javascript" src="http://fastonlineusers.com/on2.php?

d=www.blogjava.net/wujun"&gt;&lt;/script&gt; online&lt;/a&gt;&lt;/font&gt;
--&gt;
&lt;br&gt;
&lt;!--&lt;script src="http://www.NewZGC.com/others/counter/counter.asp?username=wujun2008&amp;style=10"&gt;&lt;/script&gt;--&gt;
&lt;br&gt;
</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 23:49:32 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 23:49:32 GMT</pubDate><ttl>60</ttl><item><title>JpetStore学习struts新的开发模式</title><link>http://www.blogjava.net/wujun/archive/2006/05/30/48858.html</link><dc:creator>junmy</dc:creator><author>junmy</author><pubDate>Mon, 29 May 2006 16:09:00 GMT</pubDate><guid>http://www.blogjava.net/wujun/archive/2006/05/30/48858.html</guid><wfw:comment>http://www.blogjava.net/wujun/comments/48858.html</wfw:comment><comments>http://www.blogjava.net/wujun/archive/2006/05/30/48858.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/wujun/comments/commentRss/48858.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wujun/services/trackbacks/48858.html</trackback:ping><description><![CDATA[
		<p> </p>
		<p>今天研究了一下JpetStore源代码 ,发现它的开发strust模式和我们以往开发的模式完全不同,所有的strust类都继承org.apache.struts.beanaction.BaseBean</p>
		<p>仔细研究BeanAction类，发现它其实是一个通用类，利用反射原理，根据URL来决定调用formbean的哪个方法！</p>
		<p>一个简单的例子</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">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">package</span>
				<span style="COLOR: #000000"> strutstest.action;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">继承BaseBean</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">import</span>
				<span style="COLOR: #000000"> org.apache.struts.beanaction.BaseBean;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img id="Codehighlighter1_126_968_Open_Image" onclick="this.style.display='none'; Codehighlighter1_126_968_Open_Text.style.display='none'; Codehighlighter1_126_968_Closed_Image.style.display='inline'; Codehighlighter1_126_968_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_126_968_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_126_968_Closed_Text.style.display='none'; Codehighlighter1_126_968_Open_Image.style.display='inline'; Codehighlighter1_126_968_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span>
				<span style="COLOR: #0000ff">public</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">class</span>
				<span style="COLOR: #000000"> TestBean </span>
				<span style="COLOR: #0000ff">extends</span>
				<span style="COLOR: #000000"> BaseBean </span>
				<span id="Codehighlighter1_126_968_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
						<img src="http://www.blogjava.net/images/dot.gif" />
				</span>
				<span id="Codehighlighter1_126_968_Open_Text">
						<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">static</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">final</span>
						<span style="COLOR: #000000"> String SUCCESS </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">success</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">static</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">final</span>
						<span style="COLOR: #000000"> String FAILURE </span>
						<span style="COLOR: #000000">=</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">failure</span>
						<span style="COLOR: #000000">"</span>
						<span style="COLOR: #000000">;<br /><img id="Codehighlighter1_259_265_Open_Image" onclick="this.style.display='none'; Codehighlighter1_259_265_Open_Text.style.display='none'; Codehighlighter1_259_265_Closed_Image.style.display='inline'; Codehighlighter1_259_265_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_259_265_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_259_265_Closed_Text.style.display='none'; Codehighlighter1_259_265_Open_Image.style.display='inline'; Codehighlighter1_259_265_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> TestBean() </span>
						<span id="Codehighlighter1_259_265_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_259_265_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> String id;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> </span>
						<span style="COLOR: #0000ff">int</span>
						<span style="COLOR: #000000"> age;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> String name;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #0000ff">private</span>
						<span style="COLOR: #000000"> String address;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">getter setter<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /></span>
						<span style="COLOR: #008000">//</span>
						<span style="COLOR: #008000">定义几个业务方法</span>
						<span style="COLOR: #008000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
						</span>
						<span style="COLOR: #000000">    </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> String saveUser()<br /><img id="Codehighlighter1_430_573_Open_Image" onclick="this.style.display='none'; Codehighlighter1_430_573_Open_Text.style.display='none'; Codehighlighter1_430_573_Closed_Image.style.display='inline'; Codehighlighter1_430_573_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_430_573_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_430_573_Closed_Text.style.display='none'; Codehighlighter1_430_573_Open_Image.style.display='inline'; Codehighlighter1_430_573_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />      </span>
						<span id="Codehighlighter1_430_573_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_430_573_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          System.out.print(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">添加用户..</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">这里返回一个字符串,将自动导向成功页<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          </span>
								<span style="COLOR: #008000">//</span>
								<span style="COLOR: #008000">
										<span style="FONT-SIZE: 9pt; COLOR: #333333; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">
												<font face="宋体">对应的是</font>
										</span>
										<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: #333333; FONT-FAMILY: Tahoma">forward</span>
										<span style="FONT-SIZE: 9pt; COLOR: #333333; mso-ascii-font-family: Tahoma; mso-hansi-font-family: Tahoma; mso-bidi-font-family: Tahoma">
												<font face="宋体">的名称</font>
										</span>
								</span>
								<span style="COLOR: #008000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
								</span>
								<span style="COLOR: #000000">          </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> SUCCESS;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />      }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> String updateUser()<br /><img id="Codehighlighter1_614_706_Open_Image" onclick="this.style.display='none'; Codehighlighter1_614_706_Open_Text.style.display='none'; Codehighlighter1_614_706_Closed_Image.style.display='inline'; Codehighlighter1_614_706_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_614_706_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_614_706_Closed_Text.style.display='none'; Codehighlighter1_614_706_Open_Image.style.display='inline'; Codehighlighter1_614_706_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />      </span>
						<span id="Codehighlighter1_614_706_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_614_706_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          System.out.print(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">update user<img src="http://www.blogjava.net/images/dot.gif" />..</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />         <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> SUCCESS;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />      }</span>
						</span>
						<span style="COLOR: #000000">
								<br />
								<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      </span>
						<span style="COLOR: #0000ff">public</span>
						<span style="COLOR: #000000"> String getUser()<br /><img id="Codehighlighter1_744_967_Open_Image" onclick="this.style.display='none'; Codehighlighter1_744_967_Open_Text.style.display='none'; Codehighlighter1_744_967_Closed_Image.style.display='inline'; Codehighlighter1_744_967_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_744_967_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_744_967_Closed_Text.style.display='none'; Codehighlighter1_744_967_Open_Image.style.display='inline'; Codehighlighter1_744_967_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />      </span>
						<span id="Codehighlighter1_744_967_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
								<img src="http://www.blogjava.net/images/dot.gif" />
						</span>
						<span id="Codehighlighter1_744_967_Open_Text">
								<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          </span>
								<span style="COLOR: #0000ff">if</span>
								<span style="COLOR: #000000">(id</span>
								<span style="COLOR: #000000">==</span>
								<span style="COLOR: #0000ff">null</span>
								<span style="COLOR: #000000">)<br /><img id="Codehighlighter1_779_882_Open_Image" onclick="this.style.display='none'; Codehighlighter1_779_882_Open_Text.style.display='none'; Codehighlighter1_779_882_Closed_Image.style.display='inline'; Codehighlighter1_779_882_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_779_882_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_779_882_Closed_Text.style.display='none'; Codehighlighter1_779_882_Open_Image.style.display='inline'; Codehighlighter1_779_882_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />          </span>
								<span id="Codehighlighter1_779_882_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff">
										<img src="http://www.blogjava.net/images/dot.gif" />
								</span>
								<span id="Codehighlighter1_779_882_Open_Text">
										<span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />             System.out.print(</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">没有此用户</span>
										<span style="COLOR: #000000">"</span>
										<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />             </span>
										<span style="COLOR: #008000">//</span>
										<span style="COLOR: #008000">导向失败</span>
										<span style="COLOR: #008000">
												<br />
												<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />
										</span>
										<span style="COLOR: #000000">             retutn FAILURE; <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />           }</span>
								</span>
								<span style="COLOR: #000000">
										<br />
										<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          System.out.print(</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">用户id=</span>
								<span style="COLOR: #000000">"</span>
								<span style="COLOR: #000000">+</span>
								<span style="COLOR: #000000">id);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />          </span>
								<span style="COLOR: #0000ff">return</span>
								<span style="COLOR: #000000"> SUCCESS;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />      }</span>
						</span>
				</span>
		</div>
		<br />
		<br />strust-config.xml配置文件<br /><br /><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"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">struts-config</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">form-beans</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">form-bean </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="testBean"</span><span style="COLOR: #ff0000"> type</span><span style="COLOR: #0000ff">="strutstest.action.TestBean"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">form-beans</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">action-mappings</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">action </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="testBean"</span><span style="COLOR: #ff0000"> path</span><span style="COLOR: #0000ff">="/test/saveUser"</span><span style="COLOR: #ff0000"> type</span><span style="COLOR: #0000ff">="org.apache.struts.beanaction.BeanAction"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />      </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">forward </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="success"</span><span style="COLOR: #ff0000"> path</span><span style="COLOR: #0000ff">="/success.html"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">action</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">action </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="testBean"</span><span style="COLOR: #ff0000"> parameter</span><span style="COLOR: #0000ff">="*"</span><span style="COLOR: #ff0000"> path</span><span style="COLOR: #0000ff">="/test/index"</span><span style="COLOR: #ff0000"> type</span><span style="COLOR: #0000ff">="org.apache.struts.beanaction.BeanAction"</span><span style="COLOR: #ff0000"> validate</span><span style="COLOR: #0000ff">="false"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />      </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">forward </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="success"</span><span style="COLOR: #ff0000"> path</span><span style="COLOR: #0000ff">="/user.jsp"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">action</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">action </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="testBean"</span><span style="COLOR: #ff0000"> path</span><span style="COLOR: #0000ff">="/test/updateUser"</span><span style="COLOR: #ff0000"> type</span><span style="COLOR: #0000ff">="org.apache.struts.beanaction.BeanAction"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />      </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">forward </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="success"</span><span style="COLOR: #ff0000"> path</span><span style="COLOR: #0000ff">="/success.html"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">action</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">action  </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="testBean"</span><span style="COLOR: #ff0000"> path</span><span style="COLOR: #0000ff">="/test/getUser"</span><span style="COLOR: #ff0000"> type</span><span style="COLOR: #0000ff">="org.apache.struts.beanaction.BeanAction"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">forward </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="success"</span><span style="COLOR: #ff0000"> path</span><span style="COLOR: #0000ff">="/success.html"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">action</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">action-mappings</span><span style="COLOR: #0000ff">&gt;</span></div><p><br />说明|:<br /><br />Struts-config.xml的配置里有3种映射方式，来告诉BeanAction把控制转到哪个form bean对象的哪个方法来处理。<br /><br /><br />&lt;action name="testBean" path="/test/saveUser" type="org.apache.struts.beanaction.BeanAction"&gt;<br />      &lt;forward name="success" path="/success.html" /&gt;<br />    &lt;/action&gt;<br /><br /><br />此种方式表示，控制将被转发到"testBean"这个form bean对象 的"savaUser"方法（行为）来处理。方法名取"path"参数的以"/"分隔的最后一部分。<br />parameter="*" </p><p>此种方式表示，form bean上没有任何方法被调用。如果存在"name"属性，则struts把表单参数等数据填充到form bean对象后，把控制转发到"success"。否则，如果name为空，则直接转发控制到"success"。这就相当于struts内置的org.apache.struts.actions.ForwardAction的功能<br /><br />前台调用</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"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">html:link </span><span style="COLOR: #ff0000">page</span><span style="COLOR: #0000ff">="/test/saveUser.do"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />saveUser<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">html:link</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">html:link </span><span style="COLOR: #ff0000">page</span><span style="COLOR: #0000ff">="/test/getUser.do?id=22"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />getUser<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">html:link</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">html:link </span><span style="COLOR: #ff0000">page</span><span style="COLOR: #0000ff">="/test/updateUser.do"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />UpdateUser<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">html:link</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">body</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">html:html</span><span style="COLOR: #0000ff">&gt;</span></div><br /><br /><br />参考<br /><br /><a href="http://blog.csdn.net/yanwp/archive/2006/01/13/578379.aspx">http://blog.csdn.net/yanwp/archive/2006/01/13/578379.aspx</a><img src ="http://www.blogjava.net/wujun/aggbug/48858.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wujun/" target="_blank">junmy</a> 2006-05-30 00:09 <a href="http://www.blogjava.net/wujun/archive/2006/05/30/48858.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Struts DispatchAction类--笔记</title><link>http://www.blogjava.net/wujun/archive/2006/03/28/37898.html</link><dc:creator>junmy</dc:creator><author>junmy</author><pubDate>Tue, 28 Mar 2006 14:08:00 GMT</pubDate><guid>http://www.blogjava.net/wujun/archive/2006/03/28/37898.html</guid><wfw:comment>http://www.blogjava.net/wujun/comments/37898.html</wfw:comment><comments>http://www.blogjava.net/wujun/archive/2006/03/28/37898.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/wujun/comments/commentRss/37898.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wujun/services/trackbacks/37898.html</trackback:ping><description><![CDATA[最近在练习struts的时候，发现如一张表里一些常用的。添加。删除。修改.得到数据.等一些操作在同一个Action 里处理很麻烦，分成几个Action来处理，又显的臃肿。有没有更好的办法在一个类里面处理，而且又容易维护呢？真是叫人郁闷啊。。<br /><br />    后来在百度搜了一下.....有个org.apache.struts.actions.DispatchAction 类可以实现。继承此类。里面可以定义自己的方法，jsp里面很好调用了。。<br /><br />如我刚刚写了一个测试的例子。。<br /><br />建个类继承 DispatchAction  <br /><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"><img id="Codehighlighter1_47_600_Open_Image" onclick="this.style.display='none'; Codehighlighter1_47_600_Open_Text.style.display='none'; Codehighlighter1_47_600_Closed_Image.style.display='inline'; Codehighlighter1_47_600_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_47_600_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_47_600_Closed_Text.style.display='none'; Codehighlighter1_47_600_Open_Image.style.display='inline'; Codehighlighter1_47_600_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> TestAction </span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000"> DispatchAction </span><span id="Codehighlighter1_47_600_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_47_600_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> ActionForward add(ActionMapping mapping,ActionForm form,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                                    HttpServletRequest request,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                                    HttpServletResponse response)<br /><img id="Codehighlighter1_253_330_Open_Image" onclick="this.style.display='none'; Codehighlighter1_253_330_Open_Text.style.display='none'; Codehighlighter1_253_330_Closed_Image.style.display='inline'; Codehighlighter1_253_330_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_253_330_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_253_330_Closed_Text.style.display='none'; Codehighlighter1_253_330_Open_Image.style.display='inline'; Codehighlighter1_253_330_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_253_330_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_253_330_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #008000">//写上你要处理的代码。。。</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /></span><span style="COLOR: #000000">    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> ActionForward del(ActionMapping mapping,ActionForm form,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                                  HttpServletRequest request,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                                  HttpServletResponse response)<br /><img id="Codehighlighter1_529_599_Open_Image" onclick="this.style.display='none'; Codehighlighter1_529_599_Open_Text.style.display='none'; Codehighlighter1_529_599_Closed_Image.style.display='inline'; Codehighlighter1_529_599_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_529_599_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_529_599_Closed_Text.style.display='none'; Codehighlighter1_529_599_Open_Image.style.display='inline'; Codehighlighter1_529_599_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />  </span><span id="Codehighlighter1_529_599_Closed_Text" style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><img src="http://www.blogjava.net/images/dot.gif" /></span><span id="Codehighlighter1_529_599_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />     </span><span style="COLOR: #000000"><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />      </span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">写上你要处理的代码。。。<span style="COLOR: #008000"><br /></span></span><span style="COLOR: #008000"><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" /></span><span style="COLOR: #000000">  }<br /><br />//其他的一些自定义的方法。。</span></span></span></div><br />在struts-config.xml 文件里配置这样写。。<br /><br /><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"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">  </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">action-mappings</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">action </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="TestActionForm"</span><span style="COLOR: #ff0000"> parameter</span><span style="COLOR: #0000ff">="method"</span><span style="COLOR: #ff0000"> path</span><span style="COLOR: #0000ff">="/TestAction"</span><span style="COLOR: #ff0000"> scope</span><span style="COLOR: #0000ff">="request"</span><span style="COLOR: #ff0000"> type</span><span style="COLOR: #0000ff">="dispatchaction.TestAction"</span><span style="COLOR: #ff0000"> validate</span><span style="COLOR: #0000ff">="false"</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />      </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">forward </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">="addforward"</span><span style="COLOR: #ff0000"> path</span><span style="COLOR: #0000ff">="/add.jsp"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />       </span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">forward </span><span style="COLOR: #ff0000">name</span><span style="COLOR: #0000ff">=del"forward"</span><span style="COLOR: #ff0000"> path</span><span style="COLOR: #0000ff">="/show.jsp"</span><span style="COLOR: #ff0000"> </span><span style="COLOR: #0000ff">/&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">action</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />  </span><span style="COLOR: #0000ff">&lt;/</span><span style="COLOR: #800000">action-mappings</span><span style="COLOR: #0000ff">&gt;</span></div><br /><img height="19" src="http://www.blogjava.net/Emoticons/red_smile.gif" width="19" border="0" />开始的时候忘记在里面加 parameter="method" 老是没有出来。。搞了半天才看到了。看样子还是要细心一点了。。<br /><br />前台jsp要调用就简单了。。<br /><br /><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"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">html:form </span><span style="COLOR: #ff0000">action</span><span style="COLOR: #0000ff">="/TestAction.do?method=del"</span><span style="COLOR: #ff0000"> method</span><span style="COLOR: #0000ff">="POST"</span><span style="COLOR: #0000ff">&gt;</span></div><br />在method后面加上在Action 类里面自己定义的方法就可以了。。<br /><br /><br /><img src ="http://www.blogjava.net/wujun/aggbug/37898.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wujun/" target="_blank">junmy</a> 2006-03-28 22:08 <a href="http://www.blogjava.net/wujun/archive/2006/03/28/37898.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts Logic标签说明</title><link>http://www.blogjava.net/wujun/archive/2006/03/26/37484.html</link><dc:creator>junmy</dc:creator><author>junmy</author><pubDate>Sun, 26 Mar 2006 08:40:00 GMT</pubDate><guid>http://www.blogjava.net/wujun/archive/2006/03/26/37484.html</guid><wfw:comment>http://www.blogjava.net/wujun/comments/37484.html</wfw:comment><comments>http://www.blogjava.net/wujun/archive/2006/03/26/37484.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wujun/comments/commentRss/37484.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wujun/services/trackbacks/37484.html</trackback:ping><description><![CDATA[<p>Struts Logic 标签库中的标签可以根据特定的逻辑条件来控制输出网页的内容</p>
		<p>，或者循环遍历集合中的所有元素,先来回顾一下Logic标签库中一些标签吧。。</p>
		<p>进行比较运算的Logic标签<br />进行字符串匹配的Logic标签<br />判断指定内容是否存在的Logic标签<br />进行循环遍历的标签<br />进行请求转发或重定向的Logic标签</p>
		<p>
				<br />进行比较运算的Logic标签</p>
		<p>&lt;logic:equal&gt;       比较变量是否等于指定的常量<br />&lt;logic:notEqual&gt;    比较变量是否不等于指定的常量<br />&lt;logic:greaterEqual&gt;比较变量是否大于或等于指定的常量<br />&lt;logic:greateThan&gt;  比较变量是否大于指定的常量<br />&lt;logic:lessEqual&gt;   比较变量是否小于或等于指定的常量<br />&lt;logic:lesThan&gt;     比较变量是否小于指定的常量</p>
		<p>
				<br />进行字符串匹配的Logic标签</p>
		<p>&lt;logic:match&gt;      判断变量中是否包含指定的常量字符串<br />&lt;logic:notMatch&gt;   判断变量中是否不包含指定的常量字符串</p>
		<p>
				<br />判断指定内容是否存在的Logic标签</p>
		<p>&lt;logic:empty&gt;     判断变量中是否为空<br />&lt;logic:netEmpty&gt;  判断变量中是否不为空</p>
		<p>&lt;logic:present&gt;   判断指定的JavaBean . Cookie等 是否存在<br />&lt;logic:notPresent&gt;判断指定的JavaBean . Cookie等 是否不存在</p>
		<p>&lt;logic:messagesPresent&gt;    判断指定的消息是否存在<br />&lt;logic:messagesNotPresent&gt;  判断指定的消息是否不存在</p>
		<p>进行循环遍历的标签</p>
		<p>&lt;logic:iterate&gt;<br />它是Logic标签库中最复杂的，也是用途最广的一个标签。</p>
		<p>进行请求转发或重定向的Logic标签</p>
		<p>&lt;logic:forward&gt;<br />&lt;logic:redirect&gt;</p>
		<p>
				<br />
				<br />刚刚还看到了这篇<a href="/action/archive/2005/11/01/17707.aspx">http://www.blogjava.net/action/archive/2005/11/01/17707.aspx</a>讲的比较详细。<br />我就懒的记了。。<br /></p><img src ="http://www.blogjava.net/wujun/aggbug/37484.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wujun/" target="_blank">junmy</a> 2006-03-26 16:40 <a href="http://www.blogjava.net/wujun/archive/2006/03/26/37484.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>