﻿<?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-void-随笔分类-Struts2</title><link>http://www.blogjava.net/void241/category/33143.html</link><description /><language>zh-cn</language><lastBuildDate>Sun, 28 Jul 2013 06:44:37 GMT</lastBuildDate><pubDate>Sun, 28 Jul 2013 06:44:37 GMT</pubDate><ttl>60</ttl><item><title>GMT：JAVA整理</title><link>http://www.blogjava.net/void241/archive/2013/07/23/401854.html</link><dc:creator>void</dc:creator><author>void</author><pubDate>Tue, 23 Jul 2013 02:16:00 GMT</pubDate><guid>http://www.blogjava.net/void241/archive/2013/07/23/401854.html</guid><wfw:comment>http://www.blogjava.net/void241/comments/401854.html</wfw:comment><comments>http://www.blogjava.net/void241/archive/2013/07/23/401854.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/void241/comments/commentRss/401854.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/void241/services/trackbacks/401854.html</trackback:ping><description><![CDATA[<div>com.sysdeo.eclipse.tomcat_3.3.0</div><div>site-1.6.5<br /><br /><div>$('#dialog-form').serialize()</div><br /><br />Action基类<br />public class BaseAction &nbsp;extends ActionSupport implements ServletRequestAware,ServletResponseAware,ServletContextAware<br /><br />JSON<br /><div>@ParentPackage("json-default")<br /><div>@InterceptorRefs( {</div><div>@InterceptorRef("MyInterceptor"),</div><div>@InterceptorRef("defaultStack")</div><div>})<br /><div>@InterceptorRefs(@InterceptorRef("parmsUrl"))</div><div>, interceptorRefs=@InterceptorRef("json-default")<br /><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">&lt;!</span><span style="color: #FF00FF; ">DOCTYPE&nbsp;struts&nbsp;PUBLIC<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"-//Apache&nbsp;Software&nbsp;Foundation//DTD&nbsp;Struts&nbsp;Configuration&nbsp;2.0//EN"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"http://struts.apache.org/dtds/struts-2.0.dtd"</span><span style="color: #0000FF; ">&gt;</span><br /><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">struts</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">constant&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="struts.i18n.encoding"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="gbk"</span><span style="color: #0000FF; ">&gt;&lt;/</span><span style="color: #800000; ">constant</span><span style="color: #0000FF; ">&gt;</span>&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">constant&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="struts.convention.action.packages"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="cn.net.gmt.gitf"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">constant&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="struts.convention.default.parent.package"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="crud-default"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">constant&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="struts.convention.package.locators"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="web"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">constant&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="struts.convention.package.locators.basePackage"</span><span style="color: #FF0000; ">&nbsp;value</span><span style="color: #0000FF; ">="org.springside.examples.miniweb"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><br /><br />&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">package&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="crud-default"</span><span style="color: #FF0000; ">&nbsp;extends</span><span style="color: #0000FF; ">="convention-default,json-default"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">interceptors</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">interceptor&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="urlparm"</span><span style="color: #FF0000; ">&nbsp;class</span><span style="color: #0000FF; ">="cn.net.gmt.gitf.welcome.LoginInterceptor"</span><span style="color: #0000FF; ">&gt;&lt;/</span><span style="color: #800000; ">interceptor</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">interceptor-stack&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="crudStack"</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">interceptor-ref&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="store"</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">param&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="operationMode"</span><span style="color: #0000FF; ">&gt;</span>AUTOMATIC<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">param</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">interceptor-ref</span><span style="color: #0000FF; ">&gt;</span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">interceptor-ref&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="paramsPrepareParamsStack"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">interceptor-stack</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">interceptor-stack&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="parmsUrl"</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">interceptor-ref&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="urlparm"</span><span style="color: #0000FF; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">interceptor-ref&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="crudStack"</span><span style="color: #0000FF; ">/&gt;</span>&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">interceptor-stack</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">interceptors</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">default-interceptor-ref&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="parmsUrl"</span><span style="color: #FF0000; ">&nbsp;</span><span style="color: #0000FF; ">/&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">global-results</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">result&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="login"</span><span style="color: #FF0000; ">&nbsp;type</span><span style="color: #0000FF; ">="redirect"</span><span style="color: #0000FF; ">&gt;</span>/login.action<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">result</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">global-results</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">package</span><span style="color: #0000FF; ">&gt;</span><br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">struts</span><span style="color: #0000FF; ">&gt;</span></div><br /><br /><br /></div></div></div></div><img src ="http://www.blogjava.net/void241/aggbug/401854.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/void241/" target="_blank">void</a> 2013-07-23 10:16 <a href="http://www.blogjava.net/void241/archive/2013/07/23/401854.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts2 注解配置</title><link>http://www.blogjava.net/void241/archive/2013/06/22/400848.html</link><dc:creator>void</dc:creator><author>void</author><pubDate>Sat, 22 Jun 2013 02:23:00 GMT</pubDate><guid>http://www.blogjava.net/void241/archive/2013/06/22/400848.html</guid><wfw:comment>http://www.blogjava.net/void241/comments/400848.html</wfw:comment><comments>http://www.blogjava.net/void241/archive/2013/06/22/400848.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/void241/comments/commentRss/400848.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/void241/services/trackbacks/400848.html</trackback:ping><description><![CDATA[<span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff; ">1、web.xml&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff; " /><div id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #ffffff; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.1875px; "><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold; ">Java代码&nbsp;<embed wmode="transparent" src="http://zhaozhi3758.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=%3C!--%20struts2%20%E9%85%8D%E7%BD%AE%20--%3E%0A%09%3Cfilter%3E%0A%09%09%3Cfilter-name%3Estruts2%3C%2Ffilter-name%3E%0A%09%09%3Cfilter-class%3E%0A%09%09%09org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter%0A%09%09%3C%2Ffilter-class%3E%0A%09%09%3Cinit-param%3E%0A%09%09%09%3Cparam-name%3EactionPackages%3C%2Fparam-name%3E%0A%09%09%09%3Cparam-value%3Ecom.yz.webapp.action%3C%2Fparam-value%3E%0A%09%09%3C%2Finit-param%3E%0A%09%3C%2Ffilter%3E%0A%09%3Cfilter-mapping%3E%0A%09%09%3Cfilter-name%3Estruts2%3C%2Ffilter-name%3E%0A%09%09%3Curl-pattern%3E%2F*%3C%2Furl-pattern%3E%0A%09%3C%2Ffilter-mapping%3E%20%0A" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">&nbsp;<a href="http://zhaozhi3758.iteye.com/blog/894757" title="收藏这段代码" style="color: #108ac6; "><img src="http://zhaozhi3758.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px; " /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af; "><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&lt;!--&nbsp;struts2&nbsp;配置&nbsp;--&gt;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&lt;filter&gt;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;filter-name&gt;struts2&lt;/filter-name&gt;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;filter-<span style="color: #7f0055; ">class</span>&gt;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/filter-<span style="color: #7f0055; ">class</span>&gt;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;init-param&gt;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-name&gt;actionPackages&lt;/param-name&gt;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;param-value&gt;com.yz.webapp.action&lt;/param-value&gt;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/init-param&gt;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&lt;/filter&gt;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&lt;filter-mapping&gt;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;filter-name&gt;struts2&lt;/filter-name&gt;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;url-pattern&gt;/*&lt;/url-pattern&gt;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&lt;/filter-mapping&gt;&nbsp;&nbsp;&nbsp;</li></ol></div><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff; ">struts.properties&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff; " /><div id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #ffffff; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.1875px; "><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold; ">Java代码&nbsp;<embed wmode="transparent" src="http://zhaozhi3758.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=%23%E4%BF%AE%E6%94%B9%E6%97%B6%E9%87%8D%E6%96%B0%E5%8A%A0%E8%BD%BD%0Astruts.configuration.xml.reload%20%3D%20true%0A%23%E6%89%93%E5%8D%B0%E6%9B%B4%E5%A4%9A%E9%94%99%E8%AF%AF%E4%BF%A1%E6%81%AF%0Astruts.devMode%20%3D%20true%0A%23%E6%B3%A8%E8%A7%A3%E6%89%AB%E6%8F%8F%E7%9A%84%E5%8C%85%E7%BB%93%E5%B0%BE%E5%90%8D%0Astruts.convention.package.locators%20%3D%20action%0A%23%E6%98%A0%E5%B0%84%E6%89%A9%E5%B1%95%E5%90%8D%0Astruts.action.extension%20%3D%20html%0A%23%E7%BB%93%E6%9E%9C%E8%B5%84%E6%BA%90%E6%89%80%E5%9C%A8%E8%B7%AF%E5%BE%84%0A%23struts.convention.result.path%20%3D%20%2FWEB-INF%2Fpages%0A" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">&nbsp;<a href="http://zhaozhi3758.iteye.com/blog/894757" title="收藏这段代码" style="color: #108ac6; "><img src="http://zhaozhi3758.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px; " /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af; "><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">#修改时重新加载&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">struts.configuration.xml.reload&nbsp;=&nbsp;<span style="color: #7f0055; ">true</span>&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">#打印更多错误信息&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">struts.devMode&nbsp;=&nbsp;<span style="color: #7f0055; ">true</span>&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">#注解扫描的包结尾名&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">struts.convention.<span style="color: #7f0055; ">package</span>.locators&nbsp;=&nbsp;action&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">#映射扩展名&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">struts.action.extension&nbsp;=&nbsp;html&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">#结果资源所在路径&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">#struts.convention.result.path&nbsp;=&nbsp;/WEB-INF/pages&nbsp;&nbsp;</li></ol></div><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff; ">2、action 类名上加注解&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff; " /><div id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #ffffff; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.1875px; "><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold; ">Java代码&nbsp;<embed wmode="transparent" src="http://zhaozhi3758.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=%40Namespace(%22%2Fssi%22)%0A%40ParentPackage(%22json-default%22)%0A%40Action(value%20%3D%20%22admin%22%2C%20results%20%3D%20%7B%0A%09%09%40Result(name%20%3D%20%22success%22%2C%20location%20%3D%20%22%2FWEB-INF%2Fpages%2Fadmin.jsp%22)%2C%0A%09%09%40Result(name%20%3D%20%22json%22%2C%20type%20%3D%20%22json%22%2C%20params%20%3D%20%7B%20%22excludeProperties%22%2C%22adminMgr%22%20%7D)%20%7D)%0Apublic%20class%20AdminAction%20extends%20BaseAction%7B%7D%0A" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">&nbsp;<a href="http://zhaozhi3758.iteye.com/blog/894757" title="收藏这段代码" style="color: #108ac6; "><img src="http://zhaozhi3758.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px; " /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af; "><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: #646464; ">@Namespace</span>("/ssi")&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: #646464; ">@ParentPackage</span>("json-default")&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: #646464; ">@Action</span>(value&nbsp;=&nbsp;"admin",&nbsp;results&nbsp;=&nbsp;{&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #646464; ">@Result</span>(name&nbsp;=&nbsp;"success",&nbsp;location&nbsp;=&nbsp;"/WEB-INF/pages/admin.jsp"),&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #646464; ">@Result</span>(name&nbsp;=&nbsp;"json",&nbsp;type&nbsp;=&nbsp;"json",&nbsp;params&nbsp;=&nbsp;{&nbsp;"excludeProperties","adminMgr"&nbsp;})&nbsp;})&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: #7f0055; ">public</span>&nbsp;<span style="color: #7f0055; ">class</span>&nbsp;AdminAction&nbsp;<span style="color: #7f0055; ">extends</span>&nbsp;BaseAction{}&nbsp;&nbsp;</li></ol></div><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff; ">多个Action&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff; " /><div id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #ffffff; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.1875px; "><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold; ">Java代码&nbsp;<embed wmode="transparent" src="http://zhaozhi3758.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=%40Namespace(%22%2Fmsa%22)%0A%40Result(name%20%3D%20%22json%22%2C%20type%20%3D%20%22json%22%2C%20params%20%3D%20%7B%20%22excludeProperties%22%2C%0A%20%20%20%20%22.*Manager%2C.*%5C%5C.authorities%2C.*%5C%5C.roles%2C.*%5C%5C.fileCon%22%20%7D)%0A%40Actions(value%20%3D%20%7B%0A%20%20%20%20%40Action(value%20%3D%20%22foreignship%22%2C%20results%20%3D%20%7B%20%40Result(name%20%3D%20%22success%22%2C%20location%20%3D%20%22foreignship%2Fforeignship.jsp%22)%20%7D)%2C%0A%20%20%20%20%40Action(value%20%3D%20%22foreignshipsee%22%2C%20results%20%3D%20%7B%20%40Result(name%20%3D%20%22success%22%2C%20location%20%3D%20%22foreignship%2Fforeignshipsee.jsp%22)%20%7D)%20%7D)%0Apublic%20class%20TMsaForeignShipArchivesAction%20extends%20BaseAction%7B%7D%0A" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">&nbsp;<a href="http://zhaozhi3758.iteye.com/blog/894757" title="收藏这段代码" style="color: #108ac6; "><img src="http://zhaozhi3758.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px; " /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af; "><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: #646464; ">@Namespace</span>("/msa")&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: #646464; ">@Result</span>(name&nbsp;=&nbsp;"json",&nbsp;type&nbsp;=&nbsp;"json",&nbsp;params&nbsp;=&nbsp;{&nbsp;"excludeProperties",&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;".*Manager,.*\\.authorities,.*\\.roles,.*\\.fileCon"&nbsp;})&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: #646464; ">@Actions</span>(value&nbsp;=&nbsp;{&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #646464; ">@Action</span>(value&nbsp;=&nbsp;"foreignship",&nbsp;results&nbsp;=&nbsp;{&nbsp;<span style="color: #646464; ">@Result</span>(name&nbsp;=&nbsp;"success",&nbsp;location&nbsp;=&nbsp;"foreignship/foreignship.jsp")&nbsp;}),&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #646464; ">@Action</span>(value&nbsp;=&nbsp;"foreignshipsee",&nbsp;results&nbsp;=&nbsp;{&nbsp;<span style="color: #646464; ">@Result</span>(name&nbsp;=&nbsp;"success",&nbsp;location&nbsp;=&nbsp;"foreignship/foreignshipsee.jsp")&nbsp;})&nbsp;})&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: #7f0055; ">public</span>&nbsp;<span style="color: #7f0055; ">class</span>&nbsp;TMsaForeignShipArchivesAction&nbsp;<span style="color: #7f0055; ">extends</span>&nbsp;BaseAction{}&nbsp;&nbsp;</li></ol></div><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff; " /><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff; " /><span style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff; ">在类方法上加注解&nbsp;</span><br style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.1875px; background-color: #ffffff; " /><div id="" style="font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Consolas, 'Courier New', monospace; background-color: #ffffff; width: 679px; margin-left: 9px; padding-right: 1px; padding-bottom: 1px; padding-left: 1px; word-break: break-all; word-wrap: break-word; line-height: 25.1875px; "><div><div style="padding-right: 3px; padding-bottom: 3px; padding-left: 3px; margin: 0px; font-weight: bold; ">Java代码&nbsp;<embed wmode="transparent" src="http://zhaozhi3758.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" width="14" height="15" flashvars="clipboard=%20%2F%2F%40Action(value%20%3D%20%22add%22%2C%20results%20%3D%20%7B%20%40Result(name%20%3D%20%22success%22%2C%20location%20%3D%20%22%2Findex.jsp%22)%20%7D)%0A%20%40Action(value%20%3D%20%22save%22)%0A%09public%20String%20save()%20%7B%0A%09%09try%7B%0A%09%09%09adminMgr.insert(%22insertYz_admin%22%2C%20admin)%3B%0A%09%09%7Dcatch(Exception%20e)%7B%0A%09%09%09msg%20%3D%20e.toString()%3B%0A%09%09%09success%20%3D%20false%3B%0A%09%09%7D%0A%09%09return%20%20this.SUCCESS%3B%0A%09%7D%0A" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">&nbsp;<a href="http://zhaozhi3758.iteye.com/blog/894757" title="收藏这段代码" style="color: #108ac6; "><img src="http://zhaozhi3758.iteye.com/images/icon_star.png" alt="收藏代码" style="border: 0px; " /></a></div></div><ol start="1" style="font-size: 1em; line-height: 1.4em; margin-left: 0px; padding-top: 2px; padding-bottom: 2px; border: 1px solid #d1d7dc; color: #2b91af; "><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="width: auto; border-width: 0px; ">//@Action(value&nbsp;=&nbsp;"add",&nbsp;results&nbsp;=&nbsp;{&nbsp;@Result(name&nbsp;=&nbsp;"success",&nbsp;location&nbsp;=&nbsp;"/index.jsp")&nbsp;})</span>&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: #646464; ">@Action</span>(value&nbsp;=&nbsp;"save")&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; "><span style="color: #7f0055; ">public</span>&nbsp;String&nbsp;save()&nbsp;{&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #7f0055; ">try</span>{&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;adminMgr.insert("insertYz_admin",&nbsp;admin);&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;}<span style="color: #7f0055; ">catch</span>(Exception&nbsp;e){&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;msg&nbsp;=&nbsp;e.toString();&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;success&nbsp;=&nbsp;<span style="color: #7f0055; ">false</span>;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #7f0055; ">return</span>&nbsp;&nbsp;<span style="color: #7f0055; ">this</span>.SUCCESS;&nbsp;&nbsp;</li><li style="font-size: 1em; margin-left: 38px; padding-right: 0px; border-left-width: 1px; border-left-color: #d1d7dc; background-color: #fafafa; line-height: 18px; ">} &nbsp;</li></ol></div><img src ="http://www.blogjava.net/void241/aggbug/400848.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/void241/" target="_blank">void</a> 2013-06-22 10:23 <a href="http://www.blogjava.net/void241/archive/2013/06/22/400848.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts2和freemarker集成实例 (注解方式)</title><link>http://www.blogjava.net/void241/archive/2013/06/22/400847.html</link><dc:creator>void</dc:creator><author>void</author><pubDate>Sat, 22 Jun 2013 02:22:00 GMT</pubDate><guid>http://www.blogjava.net/void241/archive/2013/06/22/400847.html</guid><wfw:comment>http://www.blogjava.net/void241/comments/400847.html</wfw:comment><comments>http://www.blogjava.net/void241/archive/2013/06/22/400847.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/void241/comments/commentRss/400847.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/void241/services/trackbacks/400847.html</trackback:ping><description><![CDATA[<p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">最近要开始做项目了，项目中可能会用到Struts2和Freemarker集成，所以做了个实例给大家分享一下。</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 前期的配置web.xml，导入jar包就不给大家介绍了，这些内容做过struts2的朋友的非常熟悉，如果有不会的大家可以找一下帮助文档或者上互联网上搜索一下解决方法。</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;看过struts2结构图的朋友们都应该知道struts2的展现层不再是像struts1那样单纯的jsp了，它能够集成很多展现层技术，例如今天说的freemarker等等。</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><p align="center" style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; "><img src="http://img.my.csdn.net/uploads/201302/27/1361935934_6116.png" alt="" style="border: none; max-width: 100%; " /></p><div align="left" style="font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</div><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; "></p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;既然上面都说到了freemarker仅仅是一个展现层技术，那么我们自然会想到，freemarker应该和struts2中配置的action标签中的result有关系，其实就是这样的，我们知道struts2的result标签就是匹配跳转路径控制展示层的作用，所以我们利用struts2和freemarker的最近本操作就是配置result标签，把原先的result标签的type变成freemarker，跳转的文件变成freemarker的模板文件即可。配置如下：</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><div bg_java"="" style="width: 1119.6875px; line-height: 26px; "><div><div style="border-left-color: #999999; "><strong>[java]</strong>&nbsp;<a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="view plain">view plain</a><a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="copy">copy</a><a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="print">print</a><a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="?">?</a><div style="position: absolute; left: 428px; top: 1198px; width: 29px; height: 14px; z-index: 99; "><embed id="ZeroClipboardMovie_1" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="29" height="14" name="ZeroClipboardMovie_1" align="center" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=1&amp;width=29&amp;height=14" wmode="transparent"></div></div></div><ol start="1"><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&lt;struts&gt;&nbsp;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&lt;<span style="color: blue; ">package</span>&nbsp;name=<span style="color: red; ">"struts"</span><span style="color: blue; ">extends</span>=<span style="color: red; ">"struts-default"</span>&gt;&nbsp;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&lt;action&nbsp;name=<span style="color: red; ">"userLogin"</span><span style="color: blue; ">class</span>=<span style="color: red; ">"com.test.action.LoginAction"</span>&nbsp;method=<span style="color: red; ">"userLogin"</span>&gt;&nbsp;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;result&nbsp;name=<span style="color: red; ">"success"</span>&nbsp;type=<span style="color: red; ">"freemarker"</span>&gt;&nbsp;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/WEB-INF/templates/user.ftl&nbsp;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/result&gt;&nbsp;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/action&gt;&nbsp;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&lt;/<span style="color: blue; ">package</span>&gt;&nbsp;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&lt;/struts&gt;&nbsp;&nbsp;</li></ol></div><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; "><br />&nbsp;</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果我们要是用struts2的注解方式来配置action的话，那么我们就会这样配置：</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><div bg_html"="" style="width: 1119.6875px; line-height: 26px; "><div><div style="border-left-color: #999999; "><strong>[html]</strong>&nbsp;<a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="view plain">view plain</a><a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="copy">copy</a><a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="print">print</a><a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="?">?</a><div style="position: absolute; left: 428px; top: 1699px; width: 29px; height: 14px; z-index: 99; "><embed id="ZeroClipboardMovie_2" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="29" height="14" name="ZeroClipboardMovie_2" align="center" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=2&amp;width=29&amp;height=14" wmode="transparent"></div></div></div><ol start="1"><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">@Action(<span style="color: red; ">value</span>&nbsp;=&nbsp;<span style="color: blue; ">"showadd"</span>,&nbsp;<span style="color: red; ">results</span>&nbsp;={&nbsp;@Result(<span style="color: red; ">name</span>&nbsp;=&nbsp;<span style="color: blue; ">"success"</span>,&nbsp;<span style="color: red; ">type</span>&nbsp;=&nbsp;<span style="color: blue; ">"freemarker"</span>,&nbsp;<span style="color: red; ">location</span>&nbsp;=<span style="color: blue; ">"/flt/adduser.ftl"</span>)&nbsp;})&nbsp;&nbsp;</li></ol></div><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 总之就是要改result的类型和跳转文件类型即可。</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最后我们说一下我们怎么将模板中的变量变成实际的值，这个也是比较简单的，我们这个工作要在action中实现，具体就是我们要将模板中的变量定义到action中，并且生成get和set方法，最后在相应的业务方法中将这个变量赋值，这样struts2就会自动的为我们将值填写到模板中，形成真实的展现页面，最后跳转显示给用户。</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Freemarker的模板实例：</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><div bg_html"="" style="width: 1119.6875px; line-height: 26px; "><div><div style="border-left-color: #999999; "><strong>[html]</strong>&nbsp;<a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="view plain">view plain</a><a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="copy">copy</a><a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="print">print</a><a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="?">?</a><div style="position: absolute; left: 428px; top: 2042px; width: 29px; height: 14px; z-index: 99; "><embed id="ZeroClipboardMovie_3" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="29" height="14" name="ZeroClipboardMovie_3" align="center" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=3&amp;width=29&amp;height=14" wmode="transparent"></div></div></div><ol start="1"><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; font-weight: bold; ">&lt;</span><span style="color: blue; font-weight: bold; ">html</span><span style="color: blue; font-weight: bold; ">&gt;</span>&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; font-weight: bold; ">&lt;</span><span style="color: blue; font-weight: bold; ">head</span><span style="color: blue; font-weight: bold; ">&gt;</span>&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; font-weight: bold; ">&lt;</span><span style="color: blue; font-weight: bold; ">meta</span>&nbsp;<span style="color: red; ">http-equiv</span>=<span style="color: blue; ">"Content-Type"</span>&nbsp;<span style="color: red; ">content</span>=<span style="color: blue; ">"text/html;charset=gb2312"</span><span style="color: blue; font-weight: bold; ">&gt;</span>&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; font-weight: bold; ">&lt;</span><span style="color: blue; font-weight: bold; ">title</span><span style="color: blue; font-weight: bold; ">&gt;</span>Insert&nbsp;title&nbsp;here<span style="color: blue; font-weight: bold; ">&lt;/</span><span style="color: blue; font-weight: bold; ">title</span><span style="color: blue; font-weight: bold; ">&gt;</span>&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; font-weight: bold; ">&lt;/</span><span style="color: blue; font-weight: bold; ">head</span><span style="color: blue; font-weight: bold; ">&gt;</span>&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; font-weight: bold; ">&lt;</span><span style="color: blue; font-weight: bold; ">body</span><span style="color: blue; font-weight: bold; ">&gt;</span>&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; font-weight: bold; ">&lt;</span><span style="color: blue; font-weight: bold; ">formmethod</span><span style="color: red; ">formmethod</span>=<span style="color: blue; ">"post"</span>&nbsp;<span style="color: red; ">action</span>=<span style="color: blue; ">"${formaction}"</span>&nbsp;<span style="color: red; ">name</span>=<span style="color: blue; ">"${formname}"</span><span style="color: blue; font-weight: bold; ">&gt;</span>&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; font-weight: bold; ">&lt;</span><span style="color: blue; font-weight: bold; ">input</span>&nbsp;<span style="color: red; ">id</span>=<span style="color: blue; ">"${adduser_username}"</span>&nbsp;<span style="color: red; ">name</span>=<span style="color: blue; ">"${adduser_username}"</span>&nbsp;<span style="color: red; ">type</span>=<span style="color: blue; ">"${text}"</span>&nbsp;<span style="color: red; ">value</span>=<span style="color: blue; ">""</span>&nbsp;<span style="color: blue; font-weight: bold; ">/&gt;</span>&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; font-weight: bold; ">&lt;</span><span style="color: blue; font-weight: bold; ">input</span>&nbsp;<span style="color: red; ">id</span>=<span style="color: blue; ">"${adduser_password}"</span>&nbsp;<span style="color: red; ">name</span>=<span style="color: blue; ">"${adduser_password}"</span>&nbsp;<span style="color: red; ">type</span>=<span style="color: blue; ">"${text}"</span>&nbsp;<span style="color: red; ">value</span>=<span style="color: blue; ">""</span><span style="color: blue; font-weight: bold; ">/&gt;</span>&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; font-weight: bold; ">&lt;</span><span style="color: blue; font-weight: bold; ">input</span>&nbsp;<span style="color: red; ">id</span>=<span style="color: blue; ">"${adduser_submit}"</span>&nbsp;<span style="color: red; ">name</span>=<span style="color: blue; ">"${adduser_submit}"</span>&nbsp;<span style="color: red; ">type</span>=<span style="color: blue; ">"${submit}"</span>&nbsp;<span style="color: red; ">value</span>=<span style="color: blue; ">"adduser"</span>&nbsp;<span style="color: blue; font-weight: bold; ">/&gt;</span>&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; font-weight: bold; ">&lt;/</span><span style="color: blue; font-weight: bold; ">form</span><span style="color: blue; font-weight: bold; ">&gt;</span>&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; font-weight: bold; ">&lt;/</span><span style="color: blue; font-weight: bold; ">body</span><span style="color: blue; font-weight: bold; ">&gt;</span>&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; font-weight: bold; ">&lt;/</span><span style="color: blue; font-weight: bold; ">html</span><span style="color: blue; font-weight: bold; ">&gt;</span>&nbsp;&nbsp;</li></ol></div><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对应的action：</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><div bg_java"="" style="width: 1119.6875px; line-height: 26px; "><div><div style="border-left-color: #999999; "><strong>[java]</strong>&nbsp;<a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="view plain">view plain</a><a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="copy">copy</a><a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="print">print</a><a href="http://blog.csdn.net/lfsf802/article/details/8616924#" title="?">?</a><div style="position: absolute; left: 428px; top: 2697px; width: 29px; height: 14px; z-index: 99; "><embed id="ZeroClipboardMovie_4" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="29" height="14" name="ZeroClipboardMovie_4" align="center" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=4&amp;width=29&amp;height=14" wmode="transparent"></div></div></div><ol start="1"><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; ">private</span>&nbsp;Stringformaction;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; ">private</span>&nbsp;Stringformname;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; ">private</span>&nbsp;Stringadduser_username;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; ">private</span>&nbsp;Stringadduser_password;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; ">private</span>&nbsp;Stringadduser_submit;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; ">private</span>&nbsp;Stringtext;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; ">private</span>&nbsp;Stringsubmit;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; ">public</span>&nbsp;StringgetAdduser_username()&nbsp;{&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returnadduser_username;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">}&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">publicvoidsetAdduser_username(String&nbsp;adduser_username)&nbsp;{&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">this</span>.adduser_username&nbsp;=&nbsp;adduser_username;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">}&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; ">public</span>&nbsp;StringgetAdduser_password()&nbsp;{&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returnadduser_password;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">}&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">publicvoidsetAdduser_password(String&nbsp;adduser_password)&nbsp;{&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">this</span>.adduser_password&nbsp;=&nbsp;adduser_password;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">}&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; ">public</span>&nbsp;StringgetAdduser_submit()&nbsp;{&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returnadduser_submit;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">}&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">publicvoid&nbsp;setAdduser_submit(Stringadduser_submit)&nbsp;{&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">this</span>.adduser_submit&nbsp;=&nbsp;adduser_submit;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">}&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; ">public</span>&nbsp;StringgetText()&nbsp;{&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returntext;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">}&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">publicvoidsetText(String&nbsp;text)&nbsp;{&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">this</span>.text&nbsp;=text;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">}&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; ">public</span>&nbsp;StringgetSubmit()&nbsp;{&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returnsubmit;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">}&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">publicvoidsetSubmit(String&nbsp;submit)&nbsp;{&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">this</span>.submit&nbsp;=submit;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">}&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; ">public</span>&nbsp;StringgetFormaction()&nbsp;{&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returnformaction;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">}&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">publicvoidsetFormaction(String&nbsp;formaction)&nbsp;{&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">this</span>.formaction&nbsp;=formaction;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">}&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; ">public</span>&nbsp;StringgetFormname()&nbsp;{&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;returnformname;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">}&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">publicvoidsetFormname(String&nbsp;formname)&nbsp;{&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">this</span>.formname&nbsp;=formname;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">}&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: #646464; ">@Action</span>(value=&nbsp;<span style="color: red; ">"showadd"</span>,&nbsp;results&nbsp;=&nbsp;{&nbsp;<span style="color: #646464; ">@Result</span>(name&nbsp;=<span style="color: red; ">"success"</span>,&nbsp;type&nbsp;=&nbsp;<span style="color: red; ">"freemarker"</span>,&nbsp;location&nbsp;=&nbsp;<span style="color: red; ">"/flt/adduser.ftl"</span>)&nbsp;})&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; "><span style="color: blue; ">public</span>&nbsp;Stringshowadd()&nbsp;<span style="color: blue; ">throws</span>&nbsp;Exception&nbsp;{&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;FreeMarkerUtil&nbsp;freeMarkerUtil=newFreeMarkerUtil();&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Map&lt;String,Object&gt;&nbsp;root=newHashMap&lt;String,Object&gt;();&nbsp;//为数据模型添加值&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;root.put("formaction","adduser");&nbsp;root.put("formname",&nbsp;"adduser");&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;FileWriter&nbsp;out=new&nbsp;FileWriter(newFile("/adduser.ftl"));&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;freeMarkerUtil.printFile("/flt","adduser.ftl",root,&nbsp;out);&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setFormaction(<span style="color: red; ">"adduser"</span>);&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setFormname(<span style="color: red; ">"adduser"</span>);&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setAdduser_password(<span style="color: red; ">"password"</span>);&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setAdduser_submit(<span style="color: red; ">"adduser_submit"</span>);&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setAdduser_username(<span style="color: red; ">"username"</span>);&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setText(<span style="color: red; ">"text"</span>);&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;setSubmit(<span style="color: red; ">"submit"</span>);&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: blue; ">return</span><span style="color: red; ">"success"</span>;&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; color: #555555; line-height: 18px; ">&nbsp;&nbsp;</li><li style="border-left-color: #999999; background-color: #f5fae2; line-height: 18px; ">}&nbsp;&nbsp;</li></ol></div><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;</p><p style="margin: 0px; padding: 0px; font-family: Arial; line-height: 26px; background-color: #ffffff; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这样我们运行就能够看到我们的一个添加页面，需要填入用户名和密码。</p><img src ="http://www.blogjava.net/void241/aggbug/400847.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/void241/" target="_blank">void</a> 2013-06-22 10:22 <a href="http://www.blogjava.net/void241/archive/2013/06/22/400847.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Strus2 + Freemarker + Sitemesh 乱码解决方案</title><link>http://www.blogjava.net/void241/archive/2011/06/07/351846.html</link><dc:creator>void</dc:creator><author>void</author><pubDate>Tue, 07 Jun 2011 04:40:00 GMT</pubDate><guid>http://www.blogjava.net/void241/archive/2011/06/07/351846.html</guid><wfw:comment>http://www.blogjava.net/void241/comments/351846.html</wfw:comment><comments>http://www.blogjava.net/void241/archive/2011/06/07/351846.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/void241/comments/commentRss/351846.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/void241/services/trackbacks/351846.html</trackback:ping><description><![CDATA[<span style="font-size: 36pt;"><br /></span><strong><span style="font-size: 24pt;">Struts2</span></strong><br /><br /><br />1.src目录添加文件struts.properties<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&lt;!--&nbsp;该属性设置Struts&nbsp;2是否支持动态方法调用，该属性的默认值是true。如果需要关闭动态方法调用，则可设置该属性为false。&nbsp;--&gt;<br />struts.enable.DynamicMethodInvocation</span><span style="color: #000000; ">=</span><span style="color: #000000; ">true<br /><br />&lt;!--&nbsp;该属性指定视图标签默认的视图主题，该属性的默认值是xhtml。&nbsp;--&gt;<br />struts.ui.theme</span><span style="color: #000000; ">=</span><span style="color: #000000; ">simple<br /><br />&lt;!--&nbsp;是否struts过滤器中提供的静态内容应该被浏览器缓存在头部属性中&nbsp;--&gt;<br />struts.serve.static.browserCache</span><span style="color: #000000; ">=</span><span style="color: #000000; ">false<br /><br />&lt;!--&nbsp;在url中产生&nbsp;默认的includeParams&nbsp;--&gt;<br />struts.url.includeParams</span><span style="color: #000000; ">=</span><span style="color: #000000; ">none<br /><br /><br /><br />&lt;!--&nbsp;当struts配置文件修改后，系统是否重新加载配文件，默认是false&nbsp;--&gt;<br />struts.configuration.xml.reload</span><span style="color: #000000; ">=</span><span style="color: #000000; ">true<br /><br />&lt;!--&nbsp;开发模式下使用，这样可以打印出更详细的错误信息&nbsp;--&gt;&nbsp;&nbsp;&nbsp;<br />struts.devMode</span><span style="color: #000000; ">=</span><span style="color: #000000; ">true<br /><br />&lt;!--&nbsp;修改资源文件后自动装载&nbsp;--&gt;<br />struts.i18n.reload</span><span style="color: #000000; ">=</span><span style="color: #000000; ">true<br /><br />&lt;!--&nbsp;该属性指定XSLT&nbsp;Result是否使用样式表缓存。当应用处于开发阶段时，该属性通常被设置为true；当应用处于产品使用阶段时，该属性通常被设置为false。&nbsp;--&gt;<br />struts.xslt.nocache</span><span style="color: #000000; ">=</span><span style="color: #000000; ">true<br /><br />&lt;!--&nbsp;action扩展名&nbsp;--&gt;<br />struts.action.extension</span><span style="color: #000000; ">=</span><span style="color: #000000; ">jhtml<br /><br />&lt;!--&nbsp;默认的国际化地区信息&nbsp;--&gt;<br />struts.locale</span><span style="color: #000000; ">=</span><span style="color: #000000; ">zh_CN<br /><br />&lt;!--&nbsp;国际化信息内码&nbsp;--&gt;<br />struts.i18n.encoding</span><span style="color: #000000; ">=</span><span style="color: #000000; ">UTF-</span><span style="color: #000000; ">8</span><span style="color: #000000; "><br /></span></div><br /><br /><br /><br /><h1><strong style="color: #000000;"><div><span style="font-size: 24pt;">Freemarker</span></div></strong></h1><br />1.设置<br /><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">result&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="error"</span><span style="color: #FF0000; ">&nbsp;type</span><span style="color: #0000FF; ">="freemarker"</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; ">param&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="location"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">/WEB-INF/pages/console/AccountEdit.ftl</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">param</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; ">param&nbsp;</span><span style="color: #FF0000; ">name</span><span style="color: #0000FF; ">="contentType"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">text/html;charset=GBK</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">param</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br /></span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">result</span><span style="color: #0000FF; ">&gt;</span></div></div><br />2.或者在src目录添加文件freemarker.properties<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">locale</span><span style="color: #000000; ">=</span><span style="color: #000000; ">zh_CN<br />default_encoding</span><span style="color: #000000; ">=</span><span style="color: #000000; ">UTF-</span><span style="color: #000000; ">8</span><span style="color: #000000; "><br />number_format</span><span style="color: #000000; ">=</span><span style="color: #000000;">#<br />date_format</span><span style="color: #000000; ">=</span><span style="color: #000000; ">yyyy-MM-dd<br />time_format</span><span style="color: #000000; ">=</span><span style="color: #000000; ">HH:mm:Ss<br />datetime_format</span><span style="color: #000000; ">=</span><span style="color: #000000; ">yyyy-MM-dd&nbsp;HH\:mm\:Ss</span></div><br /><br /><br /><br /><br /><div><h1><strong><span style="color: #000000;"><span style="color: #000000;"></span></span><div><span style="font-size: 24pt;">Sitemesh</span></div><span style="color: #000000;"></span></strong></h1><h1><strong><strong style="color: #ff9900;"></strong></strong></h1><div><br />sitemesh在处理编码时会使用系统的编码，com.opensymphony.module.sitemesh.filter.TextEncoder文件<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">final</span><span style="color: #000000; ">&nbsp;String&nbsp;DEFAULT_ENCODING&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;System.getProperty(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">file.encoding</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">private</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">final</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">boolean</span><span style="color: #000000; ">&nbsp;JDK14&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; "><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.getProperty(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">java.version</span><span style="color: #000000; ">"</span><span style="color: #000000; ">).startsWith(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">1.4</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">||</span><span style="color: #000000; ">&nbsp;System.getProperty(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">java.version</span><span style="color: #000000; ">"</span><span style="color: #000000; ">).startsWith(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">1.5</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">public</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">[]&nbsp;encode(</span><span style="color: #0000FF; ">byte</span><span style="color: #000000; ">[]&nbsp;data,&nbsp;String&nbsp;encoding)&nbsp;</span><span style="color: #0000FF; ">throws</span><span style="color: #000000; ">&nbsp;IOException&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(encoding&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">null</span><span style="color: #000000; ">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;encoding&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;DEFAULT_ENCODING;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">encoding&nbsp;=&nbsp;"UTF-8";</span><span style="color: #008000; "><br /></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(JDK14)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;get14Buffer(data,&nbsp;encoding);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; ">&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;get13Buffer(data,&nbsp;encoding);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;} <br /></span></div><br />所以需要在sitemesh启动前设置环境<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">System.setProperty(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">file.encoding</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,</span><span style="color: #000000; ">"</span><span style="color: #000000; ">UTF-8</span><span style="color: #000000; ">"</span><span style="color: #000000; ">)</span></div></div><br /><br /><br /><br /><br /><div><strong><span style="font-size: 24pt;">Jsp</span></strong></div><br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">&lt;head&gt;<br />&lt;%@&nbsp;page&nbsp;contentType</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">text/html;&nbsp;charset=utf-8</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;language</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">java</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%&gt;<br />&lt;%@&nbsp;taglib&nbsp;uri</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">http://www.opensymphony.com/sitemesh/decorator</span><span style="color: #000000; ">"</span><span style="color: #000000; ">&nbsp;prefix</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">decorator</span><span style="color: #000000; ">"</span><span style="color: #000000; ">%&gt;</span><span style="color: #000000; "><br />&lt;/head&gt;</span></div><br /><br /><br /> </div><img src ="http://www.blogjava.net/void241/aggbug/351846.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/void241/" target="_blank">void</a> 2011-06-07 12:40 <a href="http://www.blogjava.net/void241/archive/2011/06/07/351846.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>阿密果的struts2学习, 2.08实例</title><link>http://www.blogjava.net/void241/archive/2008/07/19/216013.html</link><dc:creator>void</dc:creator><author>void</author><pubDate>Sat, 19 Jul 2008 04:26:00 GMT</pubDate><guid>http://www.blogjava.net/void241/archive/2008/07/19/216013.html</guid><wfw:comment>http://www.blogjava.net/void241/comments/216013.html</wfw:comment><comments>http://www.blogjava.net/void241/archive/2008/07/19/216013.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/void241/comments/commentRss/216013.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/void241/services/trackbacks/216013.html</trackback:ping><description><![CDATA[<p><a href="http://www.blogjava.net/amigoxie/category/28622.html"><font color="#ff6600">http://www.blogjava.net/amigoxie/category/28622.html</font></a></p>
<img src ="http://www.blogjava.net/void241/aggbug/216013.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/void241/" target="_blank">void</a> 2008-07-19 12:26 <a href="http://www.blogjava.net/void241/archive/2008/07/19/216013.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>自动登陆功能</title><link>http://www.blogjava.net/void241/archive/2008/07/19/215997.html</link><dc:creator>void</dc:creator><author>void</author><pubDate>Sat, 19 Jul 2008 04:13:00 GMT</pubDate><guid>http://www.blogjava.net/void241/archive/2008/07/19/215997.html</guid><wfw:comment>http://www.blogjava.net/void241/comments/215997.html</wfw:comment><comments>http://www.blogjava.net/void241/archive/2008/07/19/215997.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/void241/comments/commentRss/215997.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/void241/services/trackbacks/215997.html</trackback:ping><description><![CDATA[<table style="table-layout: fixed">
    <tbody>
        <tr>
            <td>
            <div class="cnt" id="blog_text">
            <p><a href="http://blog.csdn.net/lyhapple/archive/2007/10/09/1817308.aspx">http://blog.csdn.net/lyhapple/archive/2007/10/09/1817308.aspx</a></p>
            <p>request.getRequestDispatcher("/Test/test2.jsp").forward(request,response); //第一个办法<br />
            response.sendRedirect("/Test/test2.jsp"); //第二个办法</p>
            <p>&lt;filter-mapping&gt;&nbsp;&nbsp;&nbsp;<br />
            &lt;filter-name&gt;SetMenuFilter&lt;/filter-name&gt; <br />
            &lt;url-pattern&gt;/pages/*&lt;/url-pattern&gt;&nbsp;&nbsp;&nbsp;<br />
            &lt;/filter-mapping&gt;&nbsp;&nbsp;&nbsp;<br />
            <br />
            &lt;filter-mapping&gt; <br />
            &lt;filter-name&gt;SetMenuFilter&lt;/filter-name&gt; <br />
            &lt;url-pattern&gt;/pages/*.do&lt;/url-pattern&gt;&nbsp;&nbsp;&nbsp;<br />
            &lt;/filter-mapping&gt;&nbsp;&nbsp;</p>
            </div>
            </td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/void241/aggbug/215997.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/void241/" target="_blank">void</a> 2008-07-19 12:13 <a href="http://www.blogjava.net/void241/archive/2008/07/19/215997.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>