锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧洲亚洲国产精华液,亚洲码欧美码一区二区三区,亚洲国产欧洲综合997久久http://m.tkk7.com/lifw/category/40345.html涓璺蛋鏉~zh-cnTue, 29 Sep 2009 02:39:05 GMTTue, 29 Sep 2009 02:39:05 GMT60struts2.1.6 + freemarker2.3.15 璁塊棶 request session 鏂規硶http://m.tkk7.com/lifw/archive/2009/09/25/296445.html鑰佹枃鑰佹枃Fri, 25 Sep 2009 08:33:00 GMThttp://m.tkk7.com/lifw/archive/2009/09/25/296445.htmlhttp://m.tkk7.com/lifw/comments/296445.htmlhttp://m.tkk7.com/lifw/archive/2009/09/25/296445.html#Feedback0http://m.tkk7.com/lifw/comments/commentRss/296445.htmlhttp://m.tkk7.com/lifw/services/trackbacks/296445.html ${request.getRequestURI()}

session:
${Session["SPRING_SECURITY_LAST_EXCEPTION"]}



鑰佹枃 2009-09-25 16:33 鍙戣〃璇勮
]]>
jasperReport鐨勪竴浜涘弬鏁?/title><link>http://m.tkk7.com/lifw/archive/2009/08/04/289815.html</link><dc:creator>鑰佹枃</dc:creator><author>鑰佹枃</author><pubDate>Tue, 04 Aug 2009 09:27:00 GMT</pubDate><guid>http://m.tkk7.com/lifw/archive/2009/08/04/289815.html</guid><wfw:comment>http://m.tkk7.com/lifw/comments/289815.html</wfw:comment><comments>http://m.tkk7.com/lifw/archive/2009/08/04/289815.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/lifw/comments/commentRss/289815.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/lifw/services/trackbacks/289815.html</trackback:ping><description><![CDATA[鍙傝冭嚜錛歨ttp://hi.baidu.com/275989036/blog/item/a31feb33ee826a45ad4b5fb2.html <br/ /> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><span style="font-size: 9pt;"><strong><span style="font-size: 18pt;">Exporter甯哥敤鍙傛暟璇存槑</span></strong> </span></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong>net.sf.jasperreports.engine.JRExporterParameter. JASPER_PRINT</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">net.sf.jasperreports.engine.JasperPrint</span><span style="font-size: 9pt;">鐨勫璞★紝</span><span style="font-size: 9pt;">exporter</span><span style="font-size: 9pt;">鍦ㄥ鍑烘姤琛ㄥ墠浼氬仛媯嫻?/span></strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRExporterParameter. JASPER_PRINT_LIST</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄寘鍚簡</span><span style="font-size: 9pt;">n</span><span style="font-size: 9pt;">涓?/span><span style="font-size: 9pt;">net.sf.jasperreports.engine.JasperPrint</span><span style="font-size: 9pt;">瀵硅薄鐨?/span><span style="font-size: 9pt;">java.util.List</span><span style="font-size: 9pt;">錛?/span><span style="font-size: 9pt;">exporter</span>鍦ㄥ鍑烘姤琛ㄥ墠浼氬仛媯嫻?</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRExporterParameter.INPUT_STREAM</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">net.sf.jasperreports.engine.JasperPrint</span><span style="font-size: 9pt;">琚簭鍒楀寲瀵硅薄鐨勮緭鍏ユ祦錛?/span><span style="font-size: 9pt;">exporter</span>鍦ㄥ鍑烘姤琛ㄥ墠浼氬仛媯嫻?</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRExporterParameter.INPUT_URL</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄寘鍚?/span><span style="font-size: 9pt;">net.sf.jasperreports.engine.JasperPrint</span><span style="font-size: 9pt;">琚簭鍒楀寲瀵硅薄鐨?/span><span style="font-size: 9pt;">URL</span><span style="font-size: 9pt;">錛?/span><span style="font-size: 9pt;">exporter</span>鍦ㄥ鍑烘姤琛ㄥ墠浼氬仛媯嫻?</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRExporterParameter.INPUT_FILE_NAME</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄瓨鍌ㄤ簡</span><span style="font-size: 9pt;">net.sf.jasperreports.engine.JasperPrint</span><span style="font-size: 9pt;">琚簭鍒楀寲瀵硅薄鐨勬枃浠惰礬寰勶紝</span><span style="font-size: 9pt;">exporter</span>鍦ㄥ鍑烘姤琛ㄥ墠浼氬仛媯嫻?</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong>娉ㄦ剰錛氫互涓婂嚑涓弬鏁頒笉鑳藉叏閮ㄤ負絀?</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_STRING_BUFFER</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.lang.StringBuffer</span>鐨勫璞★紝瀛樺偍宸茬粡浜х敓鍑虹殑鎸囧畾鏍煎紡鎶ヨ〃鐨勫唴瀹?</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_WRITER</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.io.Writer</span><span style="font-size: 9pt;">鐨勫璞★紝灝嗘寚瀹氭牸寮忔姤琛ㄧ殑鍐呭鍙戦佸埌涓涓瓧絎︽祦錛屼緥濡?/span><span style="font-size: 9pt;">Servlet</span><span style="font-size: 9pt;">鐨?/span>PrintWriter </strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_STREAM</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.io.OutputStream</span><span style="font-size: 9pt;">鐨勫璞★紝灝嗘寚瀹氭牸寮忔姤琛ㄧ殑鍐呭鍙戦佸埌涓涓緭鍑烘祦錛屼緥濡?/span>ServletOutputStream </strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_FILE</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.io.FILE</span><span style="font-size: 9pt;">鐨勫璞★紝灝嗘寚瀹氭牸寮忔姤琛ㄧ殑鍐呭瀛樺偍鍒版枃浠墮噷闈?/span></strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong>Ø<font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRExporterParameter.OUTPUT_FILE_NAME</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.lang.String</span>鐨勫璞★紝灝嗘寚瀹氭牸寮忔姤琛ㄧ殑鍐呭瀛樺偍鍒版枃浠墮噷闈?</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRExporterParameter.CHARACTER_ENCODING</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.lang.String</span>鐨勫璞★紝鎸囧畾鏍煎紡鎶ヨ〃鐨勫唴瀹圭紪鐮?</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JExcelApiExporterParameter.IS_FONT_SIZE_FIX_ENABLED</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.lang.Boolean</span><span style="font-size: 9pt;">鐨勫璞★紝鏄惁鍏佽鑷姩淇</span><span style="font-size: 9pt;">Excel</span><span style="font-size: 9pt;">姣忎釜鏍忎綅鐨勫ぇ灝?/span></strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.lang.Boolean</span><span style="font-size: 9pt;">鐨勫璞★紝姣忎竴欏墊槸鍚︾敤涓涓?/span>Sheet </strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRXlsExporterParameter. IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.lang.Boolean</span><span style="font-size: 9pt;">鐨勫璞★紝鏄惁縐婚櫎琛屼笌琛屼箣闂寸殑絀鴻</span></strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.lang.Boolean</span>鐨勫璞★紝欏甸潰鐨勮儗鏅槸鍚︿負鐧界殑 </strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRXlsExporterParameter.SHEET_NAMES</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.lang.String</span><span style="font-size: 9pt;">鐨勫璞★紝</span><span style="font-size: 9pt;">Sheet</span>鐨勫悕瀛?</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRCsvExporterParameter.FIELD_DELIMITER</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.lang.String</span>鐨勫璞★紝鏍忎綅涔嬮棿鐨勫垎闅旂 </strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRCsvExporterParameter.RECORD_DELIMITER</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: 21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.lang.String</span>鐨勫璞★紝鏍忎綅涔嬮棿鐨勫垎闅旂 </strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRHtmlExporterParameter.IS_OUTPUT_IMAGES_TO_DIR</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.lang.Boolean</span><span style="font-size: 9pt;">鐨勫璞★紝鏄惁杈撳嚭鍥劇墖鍒扮洰褰?/span></strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRHtmlExporterParameter.IMAGES_DIR_NAME</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.lang.String</span><span style="font-size: 9pt;">鐨勫璞★紝鍥劇墖鐩綍鐨勭粷瀵硅礬寰?/span></strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRHtmlExporterParameter.IMAGES_DIR</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.io.File</span>鐨勫璞★紝鍥劇墖鐩綍 </strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>net.sf.jasperreports.engine.JRHtmlExporterParameter.IMAGES_URI</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.lang.String</span><span style="font-size: 9pt;">鐨勫璞★紝閫氳繃</span><span style="font-size: 9pt;">Web</span><span style="font-size: 9pt;">璁塊棶鏃跺浘鐗囩殑</span><span style="font-size: 9pt;">URI</span></strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -1cm; text-align: left;" align="left"><span style="font-size: 18pt;"><strong>2.5</strong></span><span style="font-size: 7pt;"><font face="Times New Roman"><strong>      <span style="font-size: 18pt;">JasperReport鍐呯疆鐨勫父鐢ㄥ弬鏁拌鏄?/span></strong> </font></span></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong>榪欎簺鍙傛暟鏄斁鍒癹ava.util.Map錛屽湪濉厖鎶ヨ〃鐨勬椂鍊欎嬌鐢?/strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>REPORT_CONNECTION</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.sql.Connection</span><span style="font-size: 9pt;">瀵硅薄錛屽湪鐢?/span><span style="font-size: 9pt;">Report Query</span>鐨勬椂鍊欒皟鐢?</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>REPORT_DATASOURCE</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄疄鐜頒簡鎺ュ彛</span><span style="font-size: 9pt;">net.sf.jasperreports.engine.JRDataSource</span>鐨勫璞★紝鍦ㄥ~鍏呮姤琛ㄧ殑鏃跺欒皟鐢?</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>IS_IGNORE_PAGINATION</strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.lang.Boolean</span>瀵硅薄錛屾姤琛ㄦ槸鍚﹀拷鐣ュ垎欏?</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>REPORT_MAX_COUNT</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄?/span><span style="font-size: 9pt;">java.lang.Integer</span>瀵硅薄錛屾姤琛ㄦ樉紺虹殑鏈澶ц褰曟暟 </strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>DRAWING_SUPPLIER</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟鏄疄鐜頒簡鎺ュ彛</span><span style="font-size: 9pt;">org.jfree.chart.plot.DrawingSupplier</span><span style="font-size: 9pt;">瀵硅薄錛屽畾涔夎嚜宸辯殑濉厖鑹?/span></strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">榪欎釜鍙傛暟涓嶆槸鍘熸潵</span><span style="font-size: 9pt;">JasperReport</span><span style="font-size: 9pt;">瀹氫箟鐨勶紝鏄悗鏉ュ姞涓婄殑</span></strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -1cm; text-align: left;" align="left"><span style="font-size: 18pt;"><strong>2.6</strong></span><strong><span style="font-size: 7pt;"><font face="Times New Roman">      </font></span><span style="font-size: 18pt;">JasperReport鍐呯疆鐨勫父鐢ㄥ彉閲忚鏄?</span></strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>PAGE_NUMBER</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><span style="font-size: 9pt;"><strong>褰撳墠欏甸潰鐨勯〉鐮侊紝鍗崇鍑犻〉</strong></span></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>REPORT_COUNT</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong>鏁翠釜鎶ヨ〃濉厖瀹屾垚鍚庯紝鎬葷殑璁板綍鏁?</strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><span style="font-size: 7pt;"><font face="Times New Roman">         </font></span></strong></p> <p style="margin: 0cm 0cm 0pt; text-indent: -21pt; text-align: left;" align="left"><strong><span style="font-size: 9pt;">Ø</span><font face="Times New Roman">         </font>COLUMN_COUNT</strong></p> <strong><span style="font-size: 9pt;">褰撳墠璁板綍鐨勮鏁幫紝姣忎釜欏甸潰鐨勮鏁頒細澶嶄綅鍚庨噸鏂拌綆椼?/span></strong> <img src ="http://m.tkk7.com/lifw/aggbug/289815.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/lifw/" target="_blank">鑰佹枃</a> 2009-08-04 17:27 <a href="http://m.tkk7.com/lifw/archive/2009/08/04/289815.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>jasperReport+ireport 璁捐涓枃涔辯爜闂http://m.tkk7.com/lifw/archive/2009/08/03/289556.html鑰佹枃鑰佹枃Mon, 03 Aug 2009 03:34:00 GMThttp://m.tkk7.com/lifw/archive/2009/08/03/289556.htmlhttp://m.tkk7.com/lifw/comments/289556.htmlhttp://m.tkk7.com/lifw/archive/2009/08/03/289556.html#Feedback0http://m.tkk7.com/lifw/comments/commentRss/289556.htmlhttp://m.tkk7.com/lifw/services/trackbacks/289556.html PDF font name: STSong-Light;
PDF embedeed encoding鍓嶇殑鍕鵑変笂
pdfEncoding 錛歎niGB-UCS2-V (Chinese Simplified)

鑰佹枃 2009-08-03 11:34 鍙戣〃璇勮
]]>
struts2涓媐reemarker璁塊棶闈欐佹柟娉曞拰闈欐佸彉閲?http://m.tkk7.com/lifw/archive/2009/07/25/288298.html鑰佹枃鑰佹枃Sat, 25 Jul 2009 00:55:00 GMThttp://m.tkk7.com/lifw/archive/2009/07/25/288298.htmlhttp://m.tkk7.com/lifw/comments/288298.htmlhttp://m.tkk7.com/lifw/archive/2009/07/25/288298.html#Feedback0http://m.tkk7.com/lifw/comments/commentRss/288298.htmlhttp://m.tkk7.com/lifw/services/trackbacks/288298.html鎽樿嚜錛歨ttp://blog.csdn.net/lovelyxiaoyu/archive/2009/05/15/4189011.aspx
${stack.findValue("@package.ClassName@method")}
${stack.findValue(
"@package.ClassName@property")}
鍥犱負 stack 鏄痺ebwork緇撳悎 freemarker 鍚庡湪 ftl 涓彲浠ョ敤鐨勶紝鍏朵粬鐨勮繕鏈?nbsp;${base}絳夌瓑


鑰佹枃 2009-07-25 08:55 鍙戣〃璇勮
]]>
Struts2鐨凴esult Typehttp://m.tkk7.com/lifw/archive/2009/06/18/283008.html鑰佹枃鑰佹枃Thu, 18 Jun 2009 03:15:00 GMThttp://m.tkk7.com/lifw/archive/2009/06/18/283008.htmlhttp://m.tkk7.com/lifw/comments/283008.htmlhttp://m.tkk7.com/lifw/archive/2009/06/18/283008.html#Feedback0http://m.tkk7.com/lifw/comments/commentRss/283008.htmlhttp://m.tkk7.com/lifw/services/trackbacks/283008.html   1. chain  
   
2.  
   
3.     鐢ㄦ潵澶勭悊Action閾?nbsp; 
   
4.   
   
5.     com.opensymphony.xwork2.ActionChainResult  
   
6.   
   
7. dispatcher  
   
8.   
   
9.     鐢ㄦ潵杞悜欏甸潰錛岄氬父澶勭悊JSP  
  
10.   
  
11.     org.apache.struts2.dispatcher.ServletDispatcherResult  
  
12.   
  
13. freemaker  
  
14.   
  
15.     澶勭悊FreeMarker妯℃澘  
  
16.   
  
17.     org.apache.struts2.views.freemarker.FreemarkerResult  
  
18.   
  
19. httpheader  
  
20.   
  
21.     鎺у埗鐗規畩HTTP琛屼負鐨勭粨鏋滅被鍨?nbsp; 
  
22.   
  
23.     org.apache.struts2.dispatcher.HttpHeaderResult  
  
24.   
  
25. redirect  
  
26.   
  
27.     閲嶅畾鍚戝埌涓涓猆RL  
  
28.   
  
29.     org.apache.struts2.dispatcher.ServletRedirectResult  
  
30.   
  
31. redirectAction  
  
32.   
  
33.     閲嶅畾鍚戝埌涓涓狝ction  
  
34.   
  
35.     org.apache.struts2.dispatcher.ServletActionRedirectResult  
  
36.   
  
37. stream  
  
38.   
  
39.     鍚戞祻瑙堝櫒鍙戦両nputSream瀵硅薄錛岄氬父鐢ㄦ潵澶勭悊鏂囦歡涓嬭澆錛岃繕鍙敤浜庤繑鍥濧JAX鏁版嵁  
  
40.   
  
41.     org.apache.struts2.dispatcher.StreamResult  
  
42.   
  
43. velocity  
  
44.   
  
45.     澶勭悊Velocity妯℃澘  
  
46.   
  
47.     org.apache.struts2.dispatcher.VelocityResult  
  
48.   
  
49. xslt  
  
50.   
  
51.     澶勭悊XML/XLST妯℃澘  
  
52.   
  
53.     org.apache.struts2.views.xslt.XSLTResult  
  
54.   
  
55. plainText  
  
56.   
  
57.     鏄劇ず鍘熷鏂囦歡鍐呭錛屼緥濡傛枃浠舵簮浠g爜  
  
58.   
  
59.     org.apache.struts2.dispatcher.PlainTextResult  
  
60.   
  
61. redirect-action  
  
62.   
  
63.     閲嶅畾鍚戝埌涓涓狝ction  
  
64.   
  
65.     org.apache.struts2.dispatcher.ServletActionRedirectResult  
  
66.   
  
67. plaintext  
  
68.   
  
69.     鏄劇ず鍘熷鏂囦歡鍐呭錛屼緥濡傛枃浠舵簮浠g爜  
  
70.   
  
71.     org.apache.struts2.dispatcher.PlainTextResult 


鑰佹枃 2009-06-18 11:15 鍙戣〃璇勮
]]>
Strtus2 Convention Plugin http://m.tkk7.com/lifw/archive/2009/06/17/282840.html鑰佹枃鑰佹枃Wed, 17 Jun 2009 05:49:00 GMThttp://m.tkk7.com/lifw/archive/2009/06/17/282840.htmlhttp://m.tkk7.com/lifw/comments/282840.htmlhttp://m.tkk7.com/lifw/archive/2009/06/17/282840.html#Feedback0http://m.tkk7.com/lifw/comments/commentRss/282840.htmlhttp://m.tkk7.com/lifw/services/trackbacks/282840.html 杞澆鑷細http://blog.163.com/lennon.wang/blog/static/2135606200942215038914/


1.瀹樻柟浠嬬粛鐨勫湴鍧錛?

http://struts.apache.org/2.1.6/docs/convention-plugin.html


2.struts.xml鏂囦歡閰嶇疆

鍙寫閫夊嚑涓噸瑕佺殑甯擱噺璇存槑錛?

(1) <constant name="struts.locale" value="zh_CN"/>
      <constant name="struts.i18n.encoding" value="UTF-8"/>

      struts2.1.6  鐜板湪鍙渶瑕佷竴涓猻truts.xml鏂囦歡灝卞彲浠ヤ簡銆備互鍓嶉厤struts.locale=zh_CN錛宻truts.i18n.encoding錛漊TF- 8錛屽簲鐢ㄨ搗鍔ㄦ椂浼氭姤涓涓鍛婏紝璇存病鏈夐厤緗甽ocale錛屽繀欏昏鍦╯truts.properties閲岄潰閰嶇疆鎵嶄笉浼氭姤閿欙紝鐜板湪榪欎釜闂宸茬粡瑙e喅浜嗭紝鎵鏈夐厤 緗兘鍙互鍦▁ml鏂囦歡涓寚瀹氫簡銆?


(2) <constant name="struts.action.extension" value="action,do,,"/>

      鎵╁睍鍚嶅彲浠ユ寚瀹氫負絀恒傝繖鏍峰湴鍧鏍忔瘮杈冨ソ鐪嬨備絾涔熶細鏈変釜闂錛屽氨鏄竴浜涘叾浠杝ervlet鏄犲皠錛屽cxf錛屾垜浠細鏄犲皠鍦板潃涓?services/*錛岀幇鍦ㄨ繖 涓湴鍧涔熷彉鎴恠truts2鎺у埗鑼冨洿鐨勫湴鍧浜嗭紝濡傛灉鎸夐粯璁ょ殑閰嶇疆浼氭姤鎵句笉鍒癮ction鐨勯敊璇傝В鍐沖姙娉曟槸淇敼mapper綾匯傝繖鍦ㄤ互鍚庢枃绔犱腑浼氭彁鍒般?


(3)  <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
       <constant name="struts.enable.SlashesInActionNames" value="true"/>

      寮鍚姩鎬佹柟娉曘傝瀹炵幇闆墮厤緗紝灝辨槸闇瑕佸姩鎬佹柟娉曡皟鐢ㄣ傚紑鍚痑ction鍚嶇О鍙互鏈? “/”錛屼竴涓姹傚湴鍧鏈夊涓?#8220;/”錛宻truts2灝變笉浼氬啀浣跨敤綾昏礬寰勬壂鎻忕殑鍛藉悕絀洪棿錛屽彧浼氫嬌鐢ㄩ厤緗殑鍚嶇О銆傛墍浠ユ棦鎯砤ction鍚嶇О閲屼嬌鐢?#8220;/”錛屽張鎯崇敤struts2榛樿鎼滅儲鐨勫懡鍚嶇┖闂達紝鍙兘鑷繁淇敼涓涓媍onvention鎻掍歡鐨勫疄鐜扮被浜嗐?


(4) <constant name="struts.ui.theme" value="simple"/>

      涓嶇敤dojo鐨勫強struts2澶嶆潅鏍囩鏍峰紡鐨勫氨鎶婁富棰樿緗負simple錛岃繖鏍峰彲浠ヤ笉鍔犺澆澶氫綑鐨勬ā鏉褲?


(5) <constant name="struts.devMode" value="true"/>
      <constant name="struts.i18n.reload" value="true"/>
      <constant name="struts.configuration.xml.reload" value="true"/>
      <constant name="struts.convention.classes.reload" value="true" />

       寮鍚紑鍙戣呮ā寮忥紝鍦ㄥ鉤鏃跺紑鍙戞椂淇敼action鐨刟nnotation閰嶇疆鍙互涓嶉噸鍚紝浣嗘槸淇敼struts.xml鏂囦歡榪樻槸瑕侀噸鍚備慨鏀圭被鐨勫叿浣撳唴瀹癸紝debug妯″紡涓嬪彲浠ヤ笉閲嶅惎錛屾垨鏄嬌鐢╦avarebel錛岃繖涓笉鍦ㄨ璁鴻寖鍥淬?


(6)  <constant name="struts.convention.result.path" value="/WEB-INF/pages/"/>

      鎸囧畾緇撴灉欏甸潰璺緞銆? convention鎻掍歡浼氳嚜鍔ㄥ湪姝よ礬寰勪腑瀵繪壘鏂囦歡銆傛斁鍒癢EB-INF鐨勭洰鐨勭殑淇濇姢鏂囦歡璧勬簮錛屽彧鑳介氳繃紼嬪簭鍐呴儴璺寵漿鎵嶈兘璁塊棶錛屾垜浠殑鏉冮檺鎷︽埅鍣ㄦ垨鍏朵粬鏉冮檺澶勭悊鍙鍔犲埌action涓婂氨鍙互浜嗐?


(7) <constant name="struts.convention.action.suffix" value="Action"/>
     <constant name="struts.convention.action.name.lowercase" value="true"/>
     <constant name="struts.convention.action.name.separator" value="_"/>

     涓涓猘ction鍚嶅瓧鐨勮幏鍙栥傛瘮濡備負HelloWorldAction銆傛寜鐓ч厤緗紝actionName涓篽ello_world銆?


(8)<constant name="struts.convention.action.disableScanning" value="false"/>

     鏄惁涓嶆壂鎻忕被銆備竴瀹氳璁句負false錛屽惁鍒檆onvention鎻掍歡涓嶈搗浣滅敤錛岄浂閰嶇疆涔熸病鏈夋剰涔夈?


(9)<constant name="struts.convention.default.parent.package" value="default"/>

     璁劇疆榛樿鐨勭埗鍖咃紝涓鑸垜浠兘璁劇疆涓涓猟efault鍖呯戶鎵胯嚜struts-default銆傚ぇ閮ㄥ垎綾誨啀緇ф壙default銆傚鏋滄湁鐗規畩鐨勭被闇瑕佺壒孌婄殑鍖咃紝鍙兘鍦╝ction涓啀鎸囧畾鐖跺寘浜嗐?


(10) <constant name="struts.convention.package.locators" value="action"/>
       <constant name="struts.convention.package.locators.disable" value="false"/>
       <constant name="struts.convention.package.locators.basePackage" value=""/>

紜畾鎼滅儲鍖呯殑璺緞銆傚彧瑕佹槸緇撳熬涓篴ction鐨勫寘閮借鎼滅儲銆俠asePackage鎸夌収榛樿涓嶇敤閰嶇疆錛屽鏋滈厤緗紝鍙細鎵句互姝ら厤緗紑澶寸殑鍖呫俵ocators鍙妉ocators.basePackage閮芥槸涓緇勪互閫楀彿鍒嗗壊鐨勫瓧絎︿覆銆?


(11)  <constant name="struts.convention.exclude.packages" value="org.apache.struts.*,org.apache.struts2.*,org.springframework.web.struts.*,org.springframework.web.struts2.*,org.hibernate."/>

鎺掗櫎鍝簺鍖呬笉鎼滅儲銆傛寜榛樿閰嶇疆鍗沖彲銆傞楀彿鍒嗗壊瀛楃涓層?


(12)  <constant name="struts.convention.action.includeJars" value="" />

鍖呮嫭鍝簺jar鍖呬腑鐨刟ction銆傞楀彿鍒嗗壊瀛楃涓層?


(13)<constant name="struts.convention.relative.result.types" value="dispatcher,freemarker,velocity"/>

榛樿榪斿洖鐨勭粨鏋滅被鍨嬫悳绱€傛寜欏哄簭鍏堟壘鐩稿叧鐨刣ispatcher鐨刯sp鏂囦歡鏄惁瀛樺湪銆傜劧鍚庡啀鎵緁reemarker錛屽啀鎵緑elocity銆?


(14)<constant name="struts.convention.result.flatLayout" value="true"/>

      濡傛灉姝ゅ艱涓簍rue錛屽鏋滀竴涓猘ction鐨勫懡鍚嶇┖闂翠負/login錛屽悕縐頒負HelloWorldAction銆俽esult榪斿洖鍊兼槸success錛? 榛樿浼氭壘鍒?WEB-INF/pages/login/hello_world.jsp錛堝鏋滄湁hello_world_success.jsp灝辨壘榪欎釜 鏂囦歡錛岃繛鎺ョ“_”鏄湪<constant name="struts.convention.action.name.separator" value="_"/>涓厤緗殑錛夈傚鏋滄湁涓涓猘ction鐨剅esult榪斿洖鍊兼槸“error”錛屽氨浼氭壘/WEB-INF/pages /login/hello_world_error.jsp銆?

      濡傛灉姝ゅ艱涓篺alse錛屽鏋滀竴涓猘ction鐨勫懡鍚嶇┖闂翠負/login錛屽悕縐頒負HelloWorldAction銆俽esult榪斿洖鍊兼槸success錛岄粯璁や細鎵懼埌/WEB- INF/pages/login/hello_world/index.jsp錛堝鏋滄湁success.jsp灝辨壘榪欎釜鏂囦歡錛夈傚鏋滄湁涓涓猘ction鐨剅esult榪斿洖鍊兼槸“error”錛屽氨浼氭壘/WEB-INF/pages /login/hello_world/error.jsp銆?


(15) <constant name="struts.convention.action.mapAllMatches" value="false"/>
       <constant name="struts.convention.action.checkImplementsAction" value="false"/>
   <constant name="struts.mapper.alwaysSelectFullNamespace" value="false"/>
   <constant name="struts.convention.redirect.to.slash" value="true"/>

      榪欏嚑涓厤緗病鏈夊お澶氱殑瀹為檯鎰忎箟錛屾湰鐫鏈灝忔鏌ョ殑鍘熷垯灝卞彲浠ャ?


(16)榛樿鎷︽埅鍣ㄩ厤緗紝宸茬粡綆鍖栦簡璁稿錛屼竴鑸笉闇瑕乧hain鍜? fileupload銆俶odelDriven涔熸病浠涔堢敤錛屽鏋滄垜浠浣跨敤restfull鎻掍歡浼氭湁鐢ㄣ傚叾瀹炴渶綆鍗曞彧瑕佷竴涓猵arams灝卞彲浠ヤ簡銆傛垜鍔犲叆 exception鏄負浜嗗紑鍙戞椂鐨勫紓甯搞俿ervletConfig鏄負浜嗗寘瑁呬竴涓媟equest,reponse絳夊璞★紝staticParams鏄負 浜嗗彲浠ラ厤緗?{}褰㈠紡鍙傛暟銆俛ctionMappingParams鏄痵truts2.1鏂板鐨勶紝鎴戝垵姝ヨ涓烘槸鍙互鍦╝ction閰嶇疆涓紶鍙傛暟錛岃繖涓繕鏈? 浜涚枒闂?/span>


1.action閰嶇疆

   鎸夌収絎竴綃囦腑鐨勯厤緗紝璁劇疆locator涓篴ction錛屽垯榛樿涓涓被鐨勫懡鍚嶇┖闂翠負錛?

               綾昏礬寰?nbsp;                                            鍛藉悕絀洪棿
com.example.action.MainAction         ->    /
com.example.action.products.Display ->    /products

    瀹屾暣url涓猴細

                綾昏礬寰?nbsp;                                                                                     瀹屾暣url
com.example.action.MainAction                                       -> /main
com.example.action.products.Display                               -> /products/display
com.example.action.company.ShowCompanyDetailsAction -> /company/details/show_company_details



3.action綾誨啓娉?
    濡傛灉瑕佸疄鐜板熀鏈浂閰嶇疆錛屽懡鍚嶇┖闂村拰action鍚嶇О鎸夌収榛樿鐨勭被璺緞鎼滅儲銆傞粯璁ゆ墽琛屾柟娉曟槸execute銆傛柟娉曡繑鍥炲兼槸success錛屽氨浼氭壘銆?/span>

Java浠g爜 澶嶅埗浠g爜
  1. package com.example.action;   
  2.   
  3. import com.opensymphony.xwork2.ActionSupport;   
  4.   
  5. public class HelloWorld extends ActionSupport {   
  6.   
  7.     private String message;   
  8.   
  9.     public String getMessage() {   
  10.         return message;   
  11.     }   
  12.   
  13.     public String execute() {   
  14.         message = "Hello World! excute";   
  15.         return SUCCESS;   
  16.     }   
  17.   
  18.     public String edit() {   
  19.             message = "Hello World! edit";   
  20.         return "xyz";   
  21.     }   
  22.   
  23.     public String delete() {   
  24.         message = "Hello World! delete";   
  25.         return "depp";   
  26.     }   
  27.   
  28. }  
package com.example.action;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorld extends ActionSupport {
private String message;
public String getMessage() {
return message;
}
public String execute() {
message = "Hello World! excute";
return SUCCESS;
}
public String edit() {
message = "Hello World! edit";
return "xyz";
}
public String delete() {
message = "Hello World! delete";
return "depp";
}
}



    榪斿洖緇撴灉瀵瑰簲錛?

               綾昏礬寰?nbsp;                                  瀹為檯url(WEB-INF/pages)
/hello_world                                     /hello_world.jsp鎴?hello_world_success.jsp
/hello_world!edit                               /hello_world_xyz.jsp
/hello_world!delete                            /hello_world_depp.jsp

    鍩烘湰鐨勯浂閰嶇疆灝辨槸榪欐牱錛屽鏋滆鏈塺edirect銆乧hain絳夎煩杞柟寮忥紝interceptor鐨勯厤緗紝灝辮鍔犲叆annotation銆?


2.action綾諱腑鐨刟nnotation

convention鎻掍歡鐨刟nnotation閮藉湪annotation榪欎釜鍖呬腑錛屽熀鏈拰xml閰嶇疆鐩稿搴斻?

    annotation           鎰忎箟                                                                        浣滅敤鍩?
ParentPackage   鎸囧畾緇ф壙鐨勫寘(struts2)鍚?nbsp;                                             鍖咃紝綾?
Namespaces      緇欎竴涓猘ction鎸囧畾澶氫釜鍛藉悕絀洪棿(涓鑸笉鐢?                      鍖咃紝綾?
Namespace       鎸囧畾涓涓懡鍚嶇┖闂?涓鑸笉鐢紝鎸夐粯璁ょ殑綾昏礬寰勫嵆鍙?         鍖咃紝綾伙紝Namespaces娉ㄨВ涓?
actions              緇欎竴涓猘ction鎸囧畾澶氫釜鍚嶇О                                            鏂規硶
action               鎸囧畾涓涓猘ction鍚嶇О                                                      綾伙紝鏂規硶錛宎ctions娉ㄨВ涓?
InterceptorRefs 涓緇勬嫤鎴櫒闆嗗悎(鍙兘鏄悕縐幫紝蹇呴』鍏堝湪xml鏂囦歡涓厤緗ソ)  綾伙紝action娉ㄨВ涓?nbsp;
InterceptorRef   涓涓嫤鎴櫒                                                                  綾伙紝InterceptorRefs娉ㄨВ涓?
ResultPath        緇撴灉鏄犲皠鐨勮礬寰?宸茬粡鍦╯truts.xml鏂囦歡涓寚瀹?                 鍖咃紝綾?
Results             澶氫釜緇撴灉闆嗗悎                                                               綾伙紝action娉ㄨВ涓?
Result              涓涓粨鏋滃畾涔?nbsp;                                                               綾伙紝Results娉ㄨВ涓?

    闇瑕佹敞鎰忥細

1錛夊寘(java)綰у埆鏄湪package-info.java榪欎釜鏂囦歡涓厤緗紝鍙互閰嶇疆鏁翠釜鍖呯殑瀹氫箟錛屼絾鏄懡鍚嶇┖闂村氨涓嶈兘鎸夐粯璁ょ殑綾昏礬寰勬壂鎻忎簡錛屽繀欏諱篃瑕佹樉寮忕殑閰嶇疆銆傛墍浠ヨ繖涓枃浠舵渶濂戒笉瑕佷嬌鐢ㄣ?

2錛変笉鍦ㄥ寘(java)綰у埆閰嶇疆灝辮鍦ㄧ被(java)綰у埆閰嶇疆錛屽彲鑳芥瘡涓被閮借鍐欎竴鍙arentPackage錛屾寚瀹氱戶鎵跨殑鍖?struts2)錛屼互鑾峰緱鐖跺寘涓殑鎷︽埅鍣ㄩ厤緗強鍏朵粬鍏敤閰嶇疆銆傚鏋滄病鏈夌壒孌婄殑鎷︽埅鍣ㄩ厤緗垯涓嶇敤閰嶇疆ParentPackage銆?

3錛夋渶濂芥妸annotation閰嶅埌綾葷駭鍒紝鍥犱負榪欐牱action鍚嶇О鍙婂懡鍚嶇┖闂撮兘鍙敤榛樿鐨勭被璺緞鎵弿錛屼笉鐢ㄦ垜浠樉寮忕殑閰嶇疆銆傚彧瑕侀厤緗? 鐗規畩鐨剅esult鍜屾嫤鎴櫒鍗沖彲銆傜被涓殑鍏朵粬鏂規硶浣跨敤鍔ㄦ佹柟娉曡皟鐢ㄧ殑鏂瑰紡浣跨敤鍚屼竴涓厤緗傛垜浠煡閬搒truts2鎵鏈夐厤緗兘鏄惎鍔ㄥ姞杞藉埌map涓殑錛屽噺灝? 閰嶇疆錛屼細鎻愰珮涓瀹氭ц兘銆傝屽姩鎬佹柟娉曡繖縐嶆ā寮忔槸闆墮厤緗繀涓嶅彲灝戠殑錛屼絾鎴戝緢涓嶅枩嬈㈠徆鍙峰嚭鐜板湪鍦板潃鏍忎腑錛屾墍浠ュ湪鍚庨潰鐨勬枃绔犱腑鎴戜細緇撳悎restful鎻掍歡鍙婅嚜宸變慨 鏀規簮浠g爜瀹炵幇鎰忎箟涓婄殑鍔ㄦ佹柟娉曡皟鐢紝浣嗗艦寮忎笂鏄埆鐨勬柟寮忥紝鍦板潃鏍忎細姣旇緝緹庤銆?/span>
Java浠g爜 澶嶅埗浠g爜
  1. package com.example.action;   
  2.   
  3. import com.opensymphony.xwork2.ActionSupport;   
  4. import org.apache.struts2.convention.annotation.Result;   
  5. import org.apache.struts2.convention.annotation.Results;   
  6. import org.apache.struts2.convention.annotation.InterceptorRef;   
  7. import org.apache.struts2.convention.annotation.InterceptorRefs;   
  8.   
  9. @InterceptorRefs({   
  10.     @InterceptorRef("interceptor-1"),   
  11.     @InterceptorRef("defaultStack")   
  12. })   
  13. @Results({   
  14.     @Result(name="reload",location="hello_world",type="redirectAction",params={key1,value1,key2,value2}),   
  15.     @Result(name="chainact",location="hello_world!edit",type="chain")   
  16. })   
  17. public class HelloWorld extends MyBaseAction {   
  18.   
  19.     private String message;   
  20.   
  21.     public String getMessage() {   
  22.         return message;   
  23.     }   
  24.   
  25.     public String execute() {   
  26.         message = "Hello World! excute";   
  27.         return SUCCESS;   
  28.     }   
  29.   
  30.     public String edit() {   
  31.             message = "Hello World! edit";   
  32.         return RELOAD;   
  33.     }   
  34.            
  35.     public String delete() {   
  36.             message = "Hello World! delete";   
  37.         return CHAINACT;   
  38.     }   
  39. }  
package com.example.action;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.convention.annotation.Results;
import org.apache.struts2.convention.annotation.InterceptorRef;
import org.apache.struts2.convention.annotation.InterceptorRefs;
@InterceptorRefs({
@InterceptorRef("interceptor-1"),
@InterceptorRef("defaultStack")
})
@Results({
@Result(name="reload",location="hello_world",type="redirectAction",params={key1,value1,key2,value2}),
@Result(name="chainact",location="hello_world!edit",type="chain")
})
public class HelloWorld extends MyBaseAction {
private String message;
public String getMessage() {
return message;
}
public String execute() {
message = "Hello World! excute";
return SUCCESS;
}
public String edit() {
message = "Hello World! edit";
return RELOAD;
}
public String delete() {
message = "Hello World! delete";
return CHAINACT;
}
}


4錛夊鏋滄湁鏋佸叾鐗規畩鐨勬儏鍐甸渶瑕佷負action鐨勬瘡涓柟娉? 鍗曠嫭閰嶇疆錛岃繖鏃跺氨涓嶈兘鐢ㄩ粯璁ょ殑綾繪壂鎻忎簡錛屽繀欏繪槸鍏堥厤緗產ction錛屾寚瀹氬悕縐幫紝鍐嶅湪action涓厤緗畆esult鍜宨nterceptor銆傝繖灝變細浣塊厤 緗澶氾紝榪濊儗鐨勯浂閰嶇疆鐨勫垵琛楓傛湁鏃舵垜浠負浜嗘ц兘鍘熷洜鎯蟲妸鎷︽埅鍣ㄧ粏鍖栧埌鍏蜂綋鐨刟ction涓婏紝鎴戞兂濡傛灉鐪熸槸榪欐牱錛屾垜浠繕涓嶅鍐嶅啓涓涓猘ction綾匯傝繕鏈? struts2.1.6鍘熸湁鐨勯厤緗槸濡傛灉action鍚嶇О涓湁“/”錛屼細璁や負榪欐槸涓涓懡鍚嶇┖闂達紝涓嶄細鍐嶆寜鐓х被鎵弿鐨勯粯璁ゅ箋備緥濡傦細

Java浠g爜 澶嶅埗浠g爜
  1. package com.example.action;   
  2.   
  3. import com.opensymphony.xwork2.ActionSupport;   
  4. import org.apache.struts2.convention.annotation.Action;   
  5.   
  6. public class HelloWorld extends ActionSupport {   
  7.   
  8.     @Action("/different/url")   
  9.     public String execute() {   
  10.         return SUCCESS;   
  11.     }   
  12.   
  13.     @Action("url")   
  14.     public String doSomething() {   
  15.         return SUCCESS;   
  16.     }   
  17. }  
package com.example.action;
import com.opensymphony.xwork2.ActionSupport;
import org.apache.struts2.convention.annotation.Action;
public class HelloWorld extends ActionSupport {
@Action("/different/url")
public String execute() {
return SUCCESS;
}
@Action("url")
public String doSomething() {
return SUCCESS;
}
}


    璋冪敤鏂規硶execute鐨剈rl涓?:       /different/url (鍛藉悕絀洪棿宸茬粡鏇存崲)
    璋冪敤鏂規硶doSomething鐨剈rl涓?:   /url

5錛夋瘮杈冨埆鎵殑鍦版柟灝辨槸鎷︽埅鍣ㄧ殑閰嶇疆錛屽繀欏葷敤鍚嶇О錛岃屽悕縐板拰瀹為檯鎷︽埅鍣ㄧ被鐨勫搴斿叧緋繪槸鍦╯truts.xml鏂囦歡涓0鏄庣殑錛屽鏋滅敤 struts2浠ュ墠鐨刟nnotation鏄彲浠ョ洿鎺ラ厤緗嫤鎴櫒綾葷殑錛屼絾鏄垜娌℃湁鍜宑onvention鎻掍歡緇撳悎浣跨敤錛岃繖涓棶棰樻垜姝e湪鐮旂┒錛岀湅鐪嬫湁娌℃湁濂? 鐨勫姙娉曘?

6錛夎繕鏈変竴縐嶉粯璁ょ殑chain璺寵漿錛屽疄闄呮槸鍦╯truts2.1.6涓柊澧炵殑unknownHandleder涓瀹氱殑錛屾病鏈変粈涔堝お澶т綔鐢紝鎴戜滑鍙互涓嶄嬌鐢ㄣ傝寀nknownHandleder鎴戜滑鍙互鑷畾涔変負鍏朵粬錛岃繖鍦ㄥ悗闈㈢殑鏂囩珷涓細鏈夎鏄庛?


1.Convention鎻掍歡鐨勪富瑕佸疄鐜版祬鏋?

1.1  PackageBasedActionConfigBuilder 榪欎釜綾繪渶閲嶈錛屾槸鏁翠釜紼嬪簭鐨勫叆鍙c?
     1.1.1  buildActionConfigs鏂規硶榪涜鍒濆鍖栭厤緗紝鍏朵腑findActions鎵弿綾昏礬寰勶紝鎴戞病鏈夋繁鍏ョ爺絀惰繖涓柟娉曞叿浣撴槸鎬庝箞鎵懼埌鎵鏈夌被鐨勩傚彧鏄? 鎵懼埌鍏ㄩ儴綾誨悗錛屽拰鎴戜滑鐨勯厤緗枃浠朵腑闄愬畾鐨勮寖鍥村尮閰嶃佽繃婊わ紝瀛樺叆涓涓猻et涓傜劧鍚巄uildConfiguration(set)寰幆鍒嗘瀽榪欎簺綾匯?

     1.1.2  buildConfiguration鏂規硶錛岄鍏堝垱寤轟竴涓猰ap綾誨瀷鐨刾ackageConfigs銆傞敭涓哄寘錛坰truts2錛夊悕錛屽間負PackageConfig.Builder瀵硅薄錛岃繖涓璞″彲浠ュ垱寤篜ackageConfig瀵硅薄銆?
      鐒跺悗寰幆鎵懼埌鐨勭被錛屽垎鏋愬寘鍚嶏紙java錛夛紝determineActionNamespace鏂規硶鍒嗘瀽鍛藉悕絀洪棿錛屽緱鍒頒竴涓猯ist瀵硅薄銆?
      鍐嶅驚鐜墍鏈夊懡鍚嶇┖闂達紝determineActionName鏂規硶鍒嗘瀽綾誨悕縐般佺被鐨勯粯璁ゆ柟娉曪紙榪欎釜鏄啓姝誨湪紼嬪簭涓殑錛屽氨鏄痚xecute鏂規硶錛夈?
      getPackageConfig鏂規硶鍒嗘瀽寰楀埌PackageConfig.Builder瀵硅薄銆?
      getActionAnnotations鏂規硶鍒嗘瀽寰楀埌action綾繪柟娉曠殑annotation閰嶇疆銆?
      寰幆姣忎釜鏂規硶鐨勯厤緗紝璋冪敤createActionConfig鏂規硶鍒嗘瀽錛屾妸 results錛宨nterceptors錛宔xceptionMappings絳夐厤緗斁鍏ctionConfig.Builder瀵硅薄錛屽啀鎶? ActionConfig瀵硅薄錛堢敱ActionConfig.Builder鐢熸垚錛夋斁鍏ackageConfig.Builder涓?
      buildIndexActions鍒涘緩榛樿绱㈠紩action銆傝繖涓ソ鍍忕敤澶勪笉澶с?
      鏈鍚庢妸PackageConfig瀵硅薄鏀懼叆Configuration瀵硅薄涓紝榪欐槸鏈欏剁駭鐨勯厤緗傛垜浠湪浠諱綍鏃墮棿鍜屽湴鐐歸兘鍙互寰楀埌Configuration瀵硅薄錛屽茍瀵瑰叾榪涜鍒嗘瀽銆?

     1.1.3   determineActionNamespace鏂規硶鏄‘瀹氫竴涓猘ction綾誨湪web搴旂敤涓殑鍛藉悕絀洪棿錛屽厛鎵捐繖涓被鐨凬amespace娉ㄨВ錛屾壘鍒板悗 鏀懼叆涓涓瓨鍌ㄥ懡鍚嶇┖闂寸殑list銆傚啀鎵綨amespaces娉ㄨВ錛屼竴涓猘ction鍙互鏈夊涓懡鍚嶇┖闂淬傚鏋滄湁娉ㄨВ鍒欐寜鐓ф敞瑙f潵紜畾涓涓猘ction鐨勫懡 鍚嶇┖闂達紝濡傛灉娌℃湁錛屽垯鍒嗘瀽榪欎釜action鎵鍦ㄥ寘錛坖ava錛夌殑璺緞錛屾寜鐓truts2.xml涓厤緗殑瑙勫垯鏉ョ‘瀹氥傝繖涓鍒欏氨鏄埅鍙栧埌瀹氫箟鐨? locator錛屽湪榪欎釜locator涔嬪悗鐨勫寘錛坖ava錛夊叏閮ㄤ綔涓哄懡鍚嶇┖闂達紝綾誨悕浣滀負action鍚嶇О銆?

     1.1.4   determineActionName鏂規硶鏄‘瀹氫竴涓猘ction綾誨湪web搴旂敤涓殑鍚嶇О銆傜敱ActionNameBuilder錛堟帴鍙o級鐨勬柟娉曟潵瀹? 鐜幫紝榪欎釜鎺ュ彛鐨勫叿浣撳疄鐜扮被錛屾彃浠墮粯璁や負SEOActionNameBuilder銆傝縐頒負鎼滅儲寮曟搸鍙嬪ソ鐨勫悕縐般備細鎶奱ction綾葷殑name鎸夊崟璇嶅垎瑙o紝 鐒跺悗鐢ㄨ繛鎺ョ榪炶搗鏉ャ傞粯璁よ繛鎺ョ鏄?-"錛屾垜浠彲浠ヨ緗負"_"銆?

     1.1.5   getPackageConfig鏂規硶鏄‘瀹氫竴涓猘ction綾誨湪web搴旂敤涓殑緇ф壙鐨勫寘錛坰truts2錛夈傚厛鎵捐繖涓被鐨凱arentPackage娉? 瑙o紝濡傛灉鏈夋敞瑙e垯鎸夌収娉ㄨВ鏉ョ‘瀹氫竴涓猘ction鐨勭埗鍖咃紙struts2錛夛紝濡傛灉娌℃湁錛屾寜鐓truts.xml涓厤緗殑瑙勫垯鏉ョ‘瀹氥傝繖涓鍒欏氨鏄? defaultParentPackage銆傚緱鍒扮埗鍖咃紙struts2錛夊悗瑕佹嫾鎴愶細 actionPackage + "#" + parentPkg.getName() + "#" + actionNamespace 鐨勫艦寮忥紝榪欐槸xwork閲岀殑瑙勫畾銆?

     1.1.6   getActionAnnotations鏂規硶鏄‘瀹氫竴涓猘ction綾葷殑鏂規硶涓婄殑annotation閰嶇疆銆傚厛鎵炬柟娉曠殑Actions娉ㄨВ錛屼竴涓柟娉曞彲 浠ユ湁澶氫釜action鏄犲皠銆傚啀鎵続ction娉ㄨВ錛屾斁鍏ヤ竴涓猰ap涓紝閿槸鏂規硶鍚嶏紝鍊兼槸瀛樺偍涓緇刟cton鏄犲皠鐨刲ist瀵硅薄銆?
    
      1.1.7   createActionConfig鏂規硶鏋勯燗ctionConfig.Builder瀵硅薄錛岄愪竴鍒ゆ柇 interceptors錛宺esults錛宔xceptionMappings錛岄兘鏄粠綾諱竴綰у紑濮嬪垽鏂槸鍚︽湁姝ゆ敞瑙o紝鍐嶄粠鏂規硶鐨刟ction娉ㄨВ涓 鎵俱侷nterceptorMapBuilder錛孯esultMapBuilder鏄袱涓帴鍙o紝鎻愪緵閫氳繃娉ㄨВ鏋勯營nterceptor鍜孯esult 鐨勬柟娉曪紝鎻掍歡鍒嗗埆鎻愪緵浜嗛粯璁ょ殑瀹炵幇DefaultInterceptorMapBuilder鍜孌efaultResultMapBuilder銆傝? buildExceptionMappings鍙槸鏈被涓殑涓涓柟娉曘?

1.2  DefaultInterceptorMapBuilder
     鍏堟壘action綾繪槸鍚﹀瓨鍦↖nterceptorRefs娉ㄨВ錛屽啀鐪嬫槸鍚﹀瓨鍦↖nterceptorRef娉ㄨВ錛屽啀鐪媋ction娉ㄨВ涓槸鍚﹀畾涔変簡InterceptorRefs銆?
     榪樼敤鍒頒簡StringTools鐨刢reateParameterMap鏂規硶鎶婃敞瑙d腑鐨刾arams錛堝艦寮忎負{key1,value1,key2,value2,......}錛夎漿鍖栨垚涓涓猰ap銆?
      buildInterceptorList鏂規硶鍒╃敤浜唜work涓殑InterceptorBuilder鐨勪竴涓潤鎬佹柟娉昪onstructInterceptorReference鎶婃嫤鎴櫒娉ㄥ叆鍒伴厤緗腑銆?
      鑰屼竴涓猘ction鎵緇ф壙鐨勭埗鍖呬腑鐨勬嫤鎴櫒錛屾垨鏄粯璁ゆ嫤鎴櫒錛屽茍涓嶅湪榪欎釜綾諱腑鏋勯犮傝屾槸鐢眡work鏍規嵁鍖咃紙struts2錛夌殑緇ф壙鍏崇郴鍔犺澆錛坅ctionPackage + "#" + parentPkg.getName() + "#" + actionNamespace 榪欐槸xwork閲岃瀹氱殑褰㈠紡錛屽凡緇忕敱PackageBasedActionConfigBuilder 閰嶇疆錛夈?

1.3 DefaultResultMapBuilder
    1.3.1  build鏂規硶錛岀‘瀹歞efaultResultPath錛屾瀯閫犲寘鍚玆esultConfig鐨刴ap瀵硅薄錛屽啀閫氳繃鎵╁睍鍚嶈幏寰椾竴涓寘鍚? ResultTypeConfig鐨刴ap瀵硅薄銆俢reateFromResources鏂規硶鑾峰緱榛樿榪斿洖緇撴灉欏甸潰錛岀劧鍚庢煡鎵綼ction娉ㄨВ涓殑 results閰嶇疆錛屽啀鎵劇被綰у埆鐨凴esults娉ㄨВ錛屽啀鎵劇被綰у埆鐨凴esult娉ㄨВ錛岀浉鍚岀殑鑲畾浼氳鐩栥俢reateFromAnnotations銆?

    1.3.2  createFromResources鏂規硶涓嬌鐢╯ervletContext.getResourcePaths鏂規硶瀵繪壘欏甸潰銆傚鏋? struts.xml涓厤緗甪latLayout涓簍rue鍒欑洿鎺ユ壘鍒頒互鍛藉悕絀洪棿涓哄悕縐扮殑鏂囦歡澶癸紝鍦ㄦ鏂囦歡澶逛腑瀵繪壘欏甸潰錛屽鏋渇latLayout涓? false錛屽垯浼氭壘鍒頒互鍛藉悕絀洪棿涓哄悕縐扮殑鏂囦歡澶癸紝鍐嶆壘鍒版鏂囦歡澶逛腑鐨勪互action鍚嶇О鍛藉悕鐨勫瓙鏂囦歡澶癸紝鍦ㄨ繖涓枃浠跺す涓鎵鵑〉闈€?

    1.3.3  makeResults鏂規硶鎵鵑粯璁ょ殑榪斿洖欏甸潰錛屽鏋滄病鏈夎礬寰勬病鏈夊寘鍚玶esultcode錛堝畾涔夌殑瀛楃涓詫級鐨勯〉闈紝鍒欐寜榛樿欏哄簭瀵繪壘 success錛宨nput錛宔rror銆傛瘮濡俬ello_world.jsp鏂囦歡錛坒latLayout涓簍rue錛岃繛鎺ョ涓?_"錛夛紝濡傛灉娌℃湁 hello_world_success.jsp錛宧ello_world_input.jsp錛宧ello_world_error.jsp鏂囦歡錛屽悓 鏃?success"錛?input"錛?error"錛屽張娌℃湁鏄懼紡鐨勯厤緗紝鍙槸浣滀負緇撴灉瀛楃涓茶繑鍥烇紝鍒欑▼搴忛粯璁や細鐢╤ello_world.jsp鏉ュ尮 閰嶄笁縐嶇粨鏋溿傚鏋滅粨鏋滃瓧絎︿覆resultcode鏄?edit"錛屽悓鏃跺張娌℃湁鏄懼紡鐨勯厤緗紝鍒欏繀浼氭壘hello_world_edit.jsp銆?

    1.3.4  createFromAnnotations榪欎釜鏂規硶灝辨槸鎶婃敞瑙h漿鎹㈡垚ResultConfig閰嶇疆銆?

1.4 ConventionsServiceImpl
    鏄痳esult閰嶇疆鐨勮緟鍔╃被銆俤etermineResultPath鏂規硶鍏堝垽鏂璼truts.xml鏂囦歡涓殑閰嶇疆錛屽啀鍒ゆ柇action綾葷殑娉ㄨВ涓槸鍚︽湁ResultPath錛屽鏋滄湁灝嗚鐩杝truts.xml涓厤緗?
     getResultTypesByExtension鏂規硶鎻愪緵涓涓猰ap瀵硅薄錛岄粯璁ょ殑result緇撴灉榪斿洖銆?

      鍏跺疄閫氳繃鐪嬭繖浜涙柟娉曪紝鎴戜滑涔熷熀鏈簡瑙d簡struts2鐨勬暣涓厤緗繃紼嬶紝闈炲父綣佺悙錛屽緢澶氱殑鍒ゆ柇紜疄寰堣楄垂璧勬簮錛屼嬌鐢▁ml閰嶇疆涔熶竴鏍楓傛垜浠篃鐭ラ亾鎵鏈夐厤緗俊鎭兘鏄簲鐢ㄥ惎鍔ㄦ椂鍔犺澆錛屽瓨鍏ap涓父椹誨唴瀛樸傛墍浠ユ垜浠簲璇ュ敖鍙兘鍑忓皯閰嶇疆錛屽浣跨敤鍔ㄦ佹柟娉曡皟鐢ㄣ?

1.5  ConventionUnknownHandler 鏄疷nknownHandler鎺ュ彛鐨勪竴涓疄鐜幫紝鐢ㄦ潵澶勭悊鎵句笉鍒扮浉搴旈厤緗殑鎯呭喌銆傚湪struts2.1鐨刣td涓柊澧炰簡涓涓?lt;unknown-handler-stack>鍏冪礌錛屽彲浠ラ厤緗竴緇刪andler銆?
       handleUnknownAction鏂規硶澶勭悊鎵句笉鍒癮ction鐨勬儏鍐點傝繖涓垜鎰熻鐢ㄥ涓嶅ぇ銆?
       handleUnknownResult鏂規硶澶勭悊鎵句笉鍒皉esult鐨勬儏鍐點傝繖涓柟娉曞彲浠ユ湁寰堝鎵╁睍銆傛瘮濡傛垜鎯沖畾涔変竴縐嶈繑鍥炲煎艦寮忥細redirect->xxx.do?ad=12鎴朿hain->xxx.do銆傜敤榪欑褰㈠紡姣斿啓娉ㄨВ瑕佹柟渚跨殑澶氥?
       handleUnknownActionMethod鏂規硶澶勭悊鎵句笉鍒癮ction涓柟娉曠殑鎯呭喌銆傝繖涓粯璁ゆ病鏈夊疄鐜般?/span>

鑰佹枃 2009-06-17 13:49 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 日韩亚洲国产综合高清| 亚洲视频在线观看| 亚洲av无码有乱码在线观看| www视频免费看| 亚洲午夜久久久久久尤物| 日本视频一区在线观看免费| 亚洲视频日韩视频| 亚洲啪啪免费视频| 亚洲不卡中文字幕| 在线免费观看中文字幕| 欧美日韩亚洲精品| 亚洲国产黄在线观看| 2022国内精品免费福利视频| 亚洲妇熟XXXX妇色黄| 美女内射无套日韩免费播放| 亚洲国产精品乱码在线观看97| AA免费观看的1000部电影| 亚洲人成网站18禁止| 亚洲AⅤ无码一区二区三区在线 | 亚洲国产精品99久久久久久| 免费萌白酱国产一区二区| 一个人看的免费观看日本视频www| 自拍偷自拍亚洲精品第1页| 老司机69精品成免费视频| 亚洲成人网在线观看| 午夜免费不卡毛片完整版| igao激情在线视频免费| 亚洲影院在线观看| 成年女人免费视频播放体验区| 男人j进女人p免费视频| 337p日本欧洲亚洲大胆色噜噜 | 亚洲AV永久精品爱情岛论坛 | 精品久久久久久久免费人妻 | 日本精品久久久久久久久免费 | 日本牲交大片免费观看| 二区久久国产乱子伦免费精品| 亚洲精品一卡2卡3卡三卡四卡| 免费激情视频网站| 无码日韩精品一区二区三区免费| 久久亚洲精品国产精品婷婷 | 亚洲国产精品一区二区三区久久 |