<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Блогът на Анатолий Дилов &#187; анотация</title>
	<atom:link href="http://blog.adilov.net/tag/%d0%b0%d0%bd%d0%be%d1%82%d0%b0%d1%86%d0%b8%d1%8f/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.adilov.net</link>
	<description>(не)одушевеното около мен</description>
	<lastBuildDate>Sat, 12 Nov 2011 22:26:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Struts2 annotations: redirect action</title>
		<link>http://blog.adilov.net/technical/programming/struts2-annotations-redirect-action</link>
		<comments>http://blog.adilov.net/technical/programming/struts2-annotations-redirect-action#comments</comments>
		<pubDate>Sun, 29 Mar 2009 13:58:03 +0000</pubDate>
		<dc:creator>Анатолий</dc:creator>
				<category><![CDATA[Програмиране]]></category>
		<category><![CDATA[Софтуер]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[annotation]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[redirect]]></category>
		<category><![CDATA[result]]></category>
		<category><![CDATA[struts]]></category>
		<category><![CDATA[struts 2]]></category>
		<category><![CDATA[webwork]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[анотация]]></category>

		<guid isPermaLink="false">http://blog.adilov.net/?p=583</guid>
		<description><![CDATA[Доста време избирах най-подходящия framework за един от проектите и накрая се спрях на Struts 2. Наследник на Struts 1 и WebWork 2, достатъчно гъвкав за целите, достатъчно customizable, лесен за употреба и не много тежък. Преди време, познатият WebWork работеше с xml action mapping-и и естествено Strut2 също го позволява. Интересното в Struts2 са [...]]]></description>
			<content:encoded><![CDATA[<p>Доста време избирах най-подходящия framework за един от проектите и накрая се спрях на Struts 2. Наследник на Struts 1 и WebWork 2, достатъчно гъвкав за целите, достатъчно customizable, лесен за употреба и не много тежък.<span id="more-583"></span></p>
<p>Преди време, познатият WebWork работеше с xml action mapping-и и естествено Strut2 също го позволява. Интересното в Struts2 са анотациите. С тях можем да избегнем писането на xml мапинги и напрактика всичко вече е в java class файла. Да, определено анотациите не са чак толкова гъвкави на пръв поглед, а и явно се ползват от скоро от масовия потребител, защото намерените резултати в търсенето mappings vs. annotations са доста големи. Например Пренасочването на action към друг action. С анотации би изглеждало страхотно, но как се прави&#8230;</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">@Result<span style="color: #009900;">&#40;</span>name <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;success&quot;</span>, value <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;indexShow&quot;</span>, type<span style="color: #339933;">=</span>ServletActionRedirectResult.<span style="color: #000000; font-weight: bold;">class</span><span style="color: #009900;">&#41;</span></div></td></tr></tbody></table></div>
<p>Един ред, хора! Красота. :)</p>
<p>В случая indexShow е името на action-а, към който искаме да насочим текущия action. Забеязва се, че няма extension. Това е страхотно, защото позволява този код да работи без да се променя когато action extension mapping-ът се промени. Помните ли разширенията на action-ите в Struts 1 и WebWork &#8211; *.do. В WebWork 2 и Struts 2 вече са *.action. Честно казано в текущия проект пак съм ги мапнал към *.do &#8211; някак си&#8230; По-добре ми изглежда.</p>
<p>Отклоних се, връщам се по темата. Action-ът indexShow (IndexShow.java; indexShow.do) се намира в главния action packet, а този redirect result се намира в друг пакет. Яко, нали :) Не е нужно да се описва мястото на action-а! Важи и обратното &#8211; дори и action-ът да се намира някъде навътре в action дървото, то няма смисъл да се описва целия път до него.</p>
<p>Ето малко повече за @Result анотацията: <a href="http://struts.apache.org/2.0.9/docs/result-annotation.html">struts docs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.adilov.net/technical/programming/struts2-annotations-redirect-action/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

