<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Harder, Faster, Better, Stronger</title>
	<atom:link href="http://wrach.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://wrach.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Sun, 25 Sep 2011 02:15:17 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='wrach.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Harder, Faster, Better, Stronger</title>
		<link>http://wrach.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://wrach.wordpress.com/osd.xml" title="Harder, Faster, Better, Stronger" />
	<atom:link rel='hub' href='http://wrach.wordpress.com/?pushpress=hub'/>
		<item>
		<title>ASP.Net MVC 3 &#8211; View and Razor Engine</title>
		<link>http://wrach.wordpress.com/2011/09/25/asp-net-mvc-3-view-and-razor-engine/</link>
		<comments>http://wrach.wordpress.com/2011/09/25/asp-net-mvc-3-view-and-razor-engine/#comments</comments>
		<pubDate>Sun, 25 Sep 2011 01:38:36 +0000</pubDate>
		<dc:creator>wrach</dc:creator>
				<category><![CDATA[.Net]]></category>

		<guid isPermaLink="false">https://wrach.wordpress.com/2011/09/25/asp-net-mvc-3-view-and-razor-engine/</guid>
		<description><![CDATA[&#160; Razor Engine ASP.Net MVC มีความสามารถรองรับ concept ของ View Engine View Engine เป็น Render หน้า web ที่ Browser ทั่วไป โดย View Engine จะมี Syntax และความสามารถแตกต่างกันไป ASP.Net MVC จะมี View Engine มาให้อยู่แล้วสองตัวคือ Razor และ ASP.Net แต่จะมีที่ Support อยู่อีกคือ Spark และ nhaml (นิยมใช้ใน Ruby) ใน Course นี้จะใช้ Razor เป็นหลัก โดย Razor นี้เพิ่งเพิ่มมาใน ASP.Net และ ASP.Net MVC version [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=96&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#160;</p>
<h2>Razor Engine</h2>
<p><img alt="ch02_programmingintro-8" src="http://i1.asp.net/umbraco-media/931683/Windows-Live-Writer_2--.NET-Web-Programming-Using-the-Razor-_7D39_ch02_programmingintro-8_thumb_1.jpg" /></p>
<p>ASP.Net MVC มีความสามารถรองรับ concept ของ View Engine    <br />View Engine เป็น Render หน้า web ที่ Browser ทั่วไป โดย View Engine จะมี Syntax และความสามารถแตกต่างกันไป     <br />ASP.Net MVC จะมี View Engine มาให้อยู่แล้วสองตัวคือ Razor และ ASP.Net แต่จะมีที่ Support อยู่อีกคือ Spark และ nhaml (นิยมใช้ใน Ruby)</p>
<p>ใน Course นี้จะใช้ Razor เป็นหลัก โดย Razor นี้เพิ่งเพิ่มมาใน ASP.Net และ ASP.Net MVC version 4    <br />นอกจาก ใน ASP.Net MVC แล้ว Razor ยังใช้ได้ใน ASP.Net Web Form ได้ด้วย</p>
<p>Razor ถูกออกแบบมาให้    <br />&#160;&#160;&#160; &#8211; Compact, Expressive, and Fluid กระทัดรัด มี syntax น้อย เวลาเขียนใช้ร่วมกับ html ได้สะดวกไม่กระโดดข้ามไปมา อยู่รวมกันอย่างสวยงามเป็นระเบียบ     <br />&#160;&#160;&#160; &#8211; Easy to Learn     <br />&#160;&#160;&#160; &#8211; Is not a new language     <br />&#160;&#160;&#160; &#8211; Works with any Text Editor     <br />&#160;&#160;&#160; &#8211; Has great Intellisense</p>
<h2>Guide to Razor Syntax</h2>
<p>1. ขึ้นต้นบรรทัดด้วย @ แล้วจะเป็น Single Statement หรือ Multi-Statement </p>
<p> <a href="http://wrach.files.wordpress.com/2011/09/image33.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb33.png?w=718&#038;h=254" width="718" height="254" /></a>
<p>2. ปิด Block ของ Statement ด้วย {…}</p>
<p><a href="http://wrach.files.wordpress.com/2011/09/image34.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb34.png?w=592&#038;h=144" width="592" height="144" /></a></p>
<p>3. Multi-Statement ขั้นด้วย Semi Colon ;</p>
<p><a href="http://wrach.files.wordpress.com/2011/09/image35.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb35.png?w=587&#038;h=152" width="587" height="152" /></a></p>
<p>4. ใช้ var ได้ ในการประกาศตัวแปร และเรียกใช้ Class ต่างๆของใน .Net และใน Project</p>
<p><a href="http://wrach.files.wordpress.com/2011/09/image36.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb36.png?w=589&#038;h=138" width="589" height="138" /></a></p>
<p>5. ใช้ &quot; &quot; (Double Quotation Mark) เวลา Assign String    <br />6. Case sensitive     <br />7. โดยแล้วมากจะใช้เพื่อแสดง Value ของ Object และ HtmlHelper     <br />8. เขียนเงื่อนไขได้</p>
<p><a href="http://www.asp.net/webmatrix/tutorials/2-introduction-to-asp-net-web-programming-using-the-razor-syntax">http://www.asp.net/webmatrix/tutorials/2-introduction-to-asp-net-web-programming-using-the-razor-syntax</a></p>
<h2>HtmlHelper</h2>
<p>เป็น Class ที่ช่วยสร้าง Tag HTML โดยมีที่ใช้บ่อยๆเช่น</p>
<table border="1" cellspacing="0" cellpadding="0" width="822">
<tbody>
<tr>
<td valign="top" width="163"><strong>Method</strong></td>
<td valign="top" width="289"><strong>Example</strong></td>
<td valign="top" width="368"><strong>HTML Tag</strong></td>
</tr>
<tr>
<td valign="top" width="163">
<pre>@Html.TextBox</pre>
</td>
<td valign="top" width="289">
<pre>@Html.TextBox(&quot;Text1&quot;,&quot;value&quot;)</pre>
</td>
<td valign="top" width="368">&lt;input id=&quot;Text1&quot; name=&quot;Text1&quot; type=&quot;text&quot; value=&quot;value&quot; /&gt;</td>
</tr>
<tr>
<td valign="top" width="163">
<pre>@Html.TextArea</pre>
</td>
<td valign="top" width="289">
<pre>@Html.TextArea(&quot;textarea1&quot;,&quot;value line1\n value line 2&quot;)</pre>
</td>
<td valign="top" width="368">
<p>&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;textarea cols=&quot;20&quot; id=&quot;textarea1&quot; name=&quot;textarea1&quot; rows=&quot;2&quot;&gt;</p>
<p>value line1</p>
<p>value line 2&lt;/textarea&gt;&lt;/td&gt;&lt;/tr&gt;</p>
</td>
</tr>
<tr>
<td valign="top" width="163">
<pre>@Html.CheckBox</pre>
</td>
<td valign="top" width="289">
<pre>@Html.CheckBox(&quot;check1&quot;,true)</pre>
</td>
<td valign="top" width="368">&lt;input checked=&quot;checked&quot; id=&quot;check1&quot; name=&quot;check1&quot; type=&quot;checkbox&quot; value=&quot;true&quot; /&gt;</td>
</tr>
<tr>
<td valign="top" width="163">
<pre>@Html.ActionLink</pre>
</td>
<td valign="top" width="289">
<pre>@Html.ActionLink(&quot;List&quot;,&quot;List&quot;,&quot;Home&quot;)</pre>
</td>
<td valign="top" width="368">&lt;a href=&quot;<a href="http://localhost:57821/Home/List">/Home/List</a>&quot;&gt;List&lt;/a&gt;</td>
</tr>
<tr>
<td valign="top" width="163">
<pre>@Html.Hidden</pre>
</td>
<td valign="top" width="289">
<pre>@Html.Hidden(&quot;Hidden1&quot;,&quot;hidden value&quot;)</pre>
</td>
<td valign="top" width="368">&lt;input name=&quot;check1&quot; type=&quot;hidden&quot; value=&quot;false&quot; /&gt;</td>
</tr>
<tr>
<td valign="top" width="163">
<pre>@Html.Label</pre>
</td>
<td valign="top" width="289">
<pre>@Html.Label(&quot;EditText&quot;,&quot;Label Text&quot;)</pre>
</td>
<td valign="top" width="368">&lt;label for=&quot;EditText&quot;&gt;Label Text&lt;/label&gt;</td>
</tr>
<tr>
<td valign="top" width="163">
<pre>@Html.RadioButton</pre>
</td>
<td valign="top" width="289">
<pre>@Html.RadioButton(&quot;Radio1&quot;,&quot;r1&quot;)</pre>
</td>
<td valign="top" width="368">&lt;input id=&quot;Radio1&quot; name=&quot;Radio1&quot; type=&quot;radio&quot; value=&quot;r1&quot; /&gt;</td>
</tr>
<tr>
<td valign="top" width="163">
<pre>@Html.DropDownList*</pre>
</td>
<td valign="top" width="289">
<p><font face="Courier New">@Html.DropDownList(&quot;Select1&quot;, new[]&#160; {<br />
            <br />&#160;&#160;&#160; new SelectListItem {&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Text = &quot;Option 1&quot;,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Value = &quot;opt1&quot;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160; },&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160; new SelectListItem {&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Text = &quot;Option 2&quot;,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Value = &quot;opt2&quot;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160; },&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160; new SelectListItem {&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Text = &quot;Option 3&quot;,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; Value = &quot;opt3&quot;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }&#160;&#160;&#160;&#160; <br />})</font></p>
</td>
<td valign="top" width="368">
<p>&lt;select id=&quot;Select1&quot; name=&quot;Select2&quot;&gt;<br />
          <br />&lt;option value=&quot;opt1&quot;&gt;Option 1&lt;/option&gt; </p>
<p>&lt;option value=&quot;opt2&quot;&gt;Option 2&lt;/option&gt; </p>
<p>&lt;option value=&quot;opt3&quot;&gt;Option 3&lt;/option&gt; </p>
<p>&lt;/select&gt;</p>
</td>
</tr>
</tbody>
</table>
<p>* @Html.DropDownList ปกติใช้ กับ SelectListItem ซึ่งแปลงจาก IEnumerable </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wrach.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wrach.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wrach.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wrach.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wrach.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wrach.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wrach.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wrach.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wrach.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wrach.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wrach.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wrach.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wrach.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wrach.wordpress.com/96/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=96&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wrach.wordpress.com/2011/09/25/asp-net-mvc-3-view-and-razor-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/65da9e5a7ac7a693beb1a368dcf82f92?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wrach</media:title>
		</media:content>

		<media:content url="http://i1.asp.net/umbraco-media/931683/Windows-Live-Writer_2--.NET-Web-Programming-Using-the-Razor-_7D39_ch02_programmingintro-8_thumb_1.jpg" medium="image">
			<media:title type="html">ch02_programmingintro-8</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb33.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb34.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb35.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb36.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Asp.Net MVC 3 &#8211; Exploring Controller</title>
		<link>http://wrach.wordpress.com/2011/09/20/asp-net-mvc-3-exploring-controller/</link>
		<comments>http://wrach.wordpress.com/2011/09/20/asp-net-mvc-3-exploring-controller/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 08:34:14 +0000</pubDate>
		<dc:creator>wrach</dc:creator>
				<category><![CDATA[.Net]]></category>

		<guid isPermaLink="false">https://wrach.wordpress.com/?p=51</guid>
		<description><![CDATA[ในการใช้งาน MVC ให้เรามองที่ Controller เป็นหลัก เพราะ Controller จะเป็นตัวกำหนดว่าจะเอา Data อะไร (Model) ไปแสดงผลยังไงที่ไหน (View) Routing System เป็นการ Mapping ไปยัง Controller และ Action มองได้ง่ายๆว่า Controller คือ Class และ Action คือ Method ที่อยู่ใน Class นั้นๆ โดยค่า Default ของ Routing จะอยู่ใน Global.asax Host/{Controller}/{Action} เช่น http://localhost/Home/About จะมาจาก Controller Class ชื่อ HomeContrller และ Method ชื่อ About Host/{Controller} จะเป็นการเข้า Action ชื่อ Index [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=51&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>ในการใช้งาน MVC ให้เรามองที่ Controller เป็นหลัก เพราะ Controller จะเป็นตัวกำหนดว่าจะเอา Data อะไร (Model) ไปแสดงผลยังไงที่ไหน (View)</p>
<h2>Routing System</h2>
<p>เป็นการ Mapping ไปยัง Controller และ Action มองได้ง่ายๆว่า Controller คือ Class และ Action คือ Method ที่อยู่ใน Class นั้นๆ โดยค่า Default ของ Routing จะอยู่ใน Global.asax</p>
<ul>
<li>Host/{Controller}/{Action} เช่น <a href="http://localhost/Home/About">http://localhost/Home/About</a>
<ul>
<li>จะมาจาก Controller Class ชื่อ HomeContrller และ Method ชื่อ About </li>
</ul>
</li>
<li>Host/{Controller} จะเป็นการเข้า Action ชื่อ Index เพราะว่ากำหนด Default จะ Routing ไว้ เช่น <a href="http://localhost/Home">http://localhost/Home</a> </li>
<li>Host/ จะเข้าที่ Host/Home </li>
</ul>
<p>การ Customize Routhing จะว่ากันใน Course Advance</p>
<h2>First Controller</h2>
<p>ลองสร้าง Controller กับ Action โดย Click ขวาที่ Controller Folder แล้ว Add Controller ตั้งชื่อ TaskController ใช้ Template แบบ Empty Controller</p>
<p><a href="http://wrach.files.wordpress.com/2011/09/image2.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb2.png?w=463&#038;h=282" width="463" height="282" /></a><a href="http://wrach.files.wordpress.com/2011/09/image3.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb3.png?w=357&#038;h=239" width="357" height="239" /></a></p>
<p>สร้าง Method ชื่อ Hello return เป็น string แล้ว Code ตามนี้</p>
<p><a href="http://wrach.files.wordpress.com/2011/09/image4.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb4.png?w=244&#038;h=179" width="244" height="179" /></a></p>
<p>เมื่อ Run แล้วเข้า URL /Task/Hello จะได้เป็นหน้า Page ที่มีเป็น string ที่ return มาจาก Controller ตรงๆ</p>
<p><a href="http://wrach.files.wordpress.com/2011/09/image5.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb5.png?w=244&#038;h=126" width="244" height="126" /></a></p>
<h2>First View</h2>
<p>แต่ถ้าต้องการแสดงผลผ่าน View จะต้องให้ Method return เป็น ViewResult หรือ ActionResult ซึ่ง ActionResult จะครอบคุมมากกว่าโดยจะ Return ได้เป็น View, PartialView, Redirect, RedirectToAction, Content, Json, Javascript, File, EmptyResult</p>
<p>ลองเขียน Method ชื่อ ListData โดยให้ return เป็น ActionResult ตามตัวอย่างนี้</p>
<p><a href="http://wrach.files.wordpress.com/2011/09/image6.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb6.png?w=244&#038;h=210" width="244" height="210" /></a></p>
<p>เมื่อ Run แล้วเข้า URL /Task/ListData จะได้ Error Page เนื่องจากว่าหา View ที่จะให้ Render ไม่เจอ</p>
<p><a href="http://wrach.files.wordpress.com/2011/09/image7.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb7.png?w=385&#038;h=228" width="385" height="228" /></a></p>
<p>ดังนั้นเราจะต้องสร้าง View มาเพื่อรับ ActionResult จาก Controller โดยที่จะใช้การ Click ขวาที่ Action แล้วเลือก Add View แล้วใส่ชื่อ View ใน Dialog ตามรูป</p>
<p><a href="http://wrach.files.wordpress.com/2011/09/image8.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb8.png?w=500&#038;h=298" width="500" height="298" /></a><a href="http://wrach.files.wordpress.com/2011/09/image9.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb9.png?w=284&#038;h=284" width="284" height="284" /></a></p>
<p>จะได้ /Views/Task/ListData.cshtml ซึ่งจะเป็น File ที่รวม Html กับ Razor Syntax ซึ่งจะ Render เป็น Html ที่ Browser แสดงผลได้ในตอน Runtime</p>
<p><a href="http://wrach.files.wordpress.com/2011/09/image10.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb10.png?w=501&#038;h=312" width="501" height="312" /></a></p>
<p>เมื่อ Run อีกครั้งเข้าที่ URL /Task/ListData จะได้ Page ที่แสดงผลตามใน View โดยขณะที่ Run อยู่เราสามารถแก้ไข View ได้ แต่ไม่สามารถแก้ Controller ได้</p>
<p><a href="http://wrach.files.wordpress.com/2011/09/image11.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb11.png?w=516&#038;h=264" width="516" height="264" /></a></p>
<h2>Pass Data ระหว่าง Controller กับ View</h2>
<p>เราสามารถ Pass Data ซึ่งหมายถึง Objects, Model, Value, etc. จาก Controller ไปยัง View ได้ด้วย</p>
<ul>
<li>ViewBag เป็น Dynamic Collection ที่เก็บ Object ใดๆ จะเขียนแบบ Dynamic Property หรือเป็น Array ก็ได้
<ul>
<li>Controller
<div style="display:inline;float:none;margin:0;padding:0;" id="scid:C89E2BDB-ADD3-4f7a-9810-1B7EACF446C1:731454c5-b2f0-4298-a320-bc1118e1b5ab" class="wlWriterEditableSmartContent">
<pre style="white-space:normal;">
<pre class="brush: csharp; pad-line-numbers: true;">
ViewBag.TestData1=&quot;My Test Data1&quot;; //ViewBag[&quot;TestData1&quot;]=&quot;My Test Data1&quot;;
</pre>
</pre>
</div>
<ul>
<li>ViewBag.TestData1=&quot;My Test Data1&quot;; //ViewBag[&quot;TestData1&quot;]=&quot;My Test Data1&quot;; </li>
</ul>
</li>
<li>View
<ul>
<li>@ViewBag.TestData </li>
</ul>
</li>
</ul>
</li>
<li>Model Binding เป็นการส่ง Data Object ผ่านไปกับ View โดยที่ View จะใส่ keyword @model {Full Name Class} หรือ @model IList&lt;&gt; เพื่อส่งเป็น List ไปก็ได้ และใช้ Keyword @Model ในการแสดงผล
<ul>
<li>View
<ul>
<li>@model MvcApplication1.Models.RegisterModel </li>
<li>User Name: @Model.UserName </li>
<li>หรือ </li>
<li>@model List&lt;MvcApplication1.Models.RegisterModel&gt; </li>
<li>@Model[0].UserName </li>
</ul>
</li>
</ul>
</li>
<li>AJAX ใช้ technique AJAX รับส่ง Data </li>
</ul>
<p>จะใช้ ViewBag เพื่อแทน Model Binding ก็ได้ แต่ว่าจะไม่มี CodeC Intellisense ขึ้นให้</p>
<p>ตัวอย่าง ViewBag</p>
<table border="0" cellspacing="0" cellpadding="0" width="400">
<tbody>
<tr>
<td valign="top" width="408"><strong>Controller</strong></td>
<td valign="top" width="10"><strong>View</strong></td>
</tr>
<tr>
<td valign="top" width="408">แก้ใน Method ListData </p>
<p><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb12.png?w=387&#038;h=138" width="387" height="138" /></p>
</td>
<td valign="top" width="10">แก้ /Views/Task/ListData.cshtml </p>
<p><a href="http://wrach.files.wordpress.com/2011/09/image13.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb13.png?w=381&#038;h=200" width="381" height="200" /></a></p>
</td>
</tr>
</tbody>
</table>
<p>ตัวอย่าง @Model</p>
<table border="0" cellspacing="0" cellpadding="0" width="579">
<tbody>
<tr>
<td valign="top" width="293"><strong>Controller</strong></td>
<td valign="top" width="284"><strong>View</strong></td>
</tr>
<tr>
<td valign="top" width="293">เพิ่ม Method ShowData<a href="http://wrach.files.wordpress.com/2011/09/image14.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb14.png?w=383&#038;h=107" width="383" height="107" /></a></td>
<td valign="top" width="284">สร้าง /Views/Task/ShowData.cshtml<a href="http://wrach.files.wordpress.com/2011/09/image15.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb15.png?w=390&#038;h=178" width="390" height="178" /></a> </td>
</tr>
</tbody>
</table>
<p>ตัวอย่าง @Model IList</p>
<table border="0" cellspacing="0" cellpadding="0" width="579">
<tbody>
<tr>
<td valign="top" width="293"><strong>Controller</strong></td>
<td valign="top" width="284"><strong>View</strong></td>
</tr>
<tr>
<td valign="top" width="293">เพิ่ม Method ListTask<a href="http://wrach.files.wordpress.com/2011/09/image16.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb16.png?w=388&#038;h=194" width="388" height="194" /></a></td>
<td valign="top" width="284">สร้าง /Views/Task/ListTask.cshtml<a href="http://wrach.files.wordpress.com/2011/09/image17.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb17.png?w=420&#038;h=196" width="420" height="196" /></a> </td>
</tr>
</tbody>
</table>
<h2>การส่ง Data จาก View มา Controller</h2>
<p>เหมือนการ Post จะรับจาก Request หรือจากที่ Parameter ของ Action เลยก็ได้</p>
<p>จาก Request </p>
<p><a href="http://wrach.files.wordpress.com/2011/09/image28.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;margin:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb28.png?w=244&#038;h=110" width="244" height="110" /></a><a href="http://wrach.files.wordpress.com/2011/09/image29.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb29.png?w=448&#038;h=100" width="448" height="100" /></a></p>
<p>แบบ Parameter ของ Action</p>
<p><a href="http://wrach.files.wordpress.com/2011/09/image30.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb30.png?w=465&#038;h=88" width="465" height="88" /></a><a href="http://wrach.files.wordpress.com/2011/09/image31.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb31.png?w=408&#038;h=92" width="408" height="92" /></a></p>
<p>จะเห็นว่าแบบเป็น Parameter ของ Action จะสวยงามกว่า เขียน Code สั้น กระชับ เห็นชัดเจนว่า Action นี้ต้องการ Parameter อะไรบ้าง และยังใส่ค่า Default ลงไปได้ทันที</p>
<h2>Return View</h2>
<p>โดย Default ถ้า Actionใน Controller Return View โดยไม่มี Parameter ใดๆ ASP.Net Engine ก็จะใช้ชื่อของ Action ไปหา View ใน Folder ของ Controller แต่ถ้าต้องการให้ไปหา View ชื่ออื่นก็ทำได้โดยใส่ Path ของ View ที่จะให้ Render หรือใช้ RedirectToAction เช่นตัวอย่าง</p>
<p><a href="http://wrach.files.wordpress.com/2011/09/image32.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb32.png?w=446&#038;h=184" width="446" height="184" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wrach.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wrach.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wrach.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wrach.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wrach.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wrach.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wrach.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wrach.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wrach.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wrach.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wrach.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wrach.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wrach.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wrach.wordpress.com/51/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=51&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wrach.wordpress.com/2011/09/20/asp-net-mvc-3-exploring-controller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/65da9e5a7ac7a693beb1a368dcf82f92?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wrach</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb2.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb3.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb4.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb5.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb6.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb7.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb8.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb9.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb10.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb11.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb12.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb13.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb14.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb15.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb16.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb17.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb28.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb29.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb30.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb31.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb32.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>ASP.Net MVC 3 &#8211; Over View</title>
		<link>http://wrach.wordpress.com/2011/09/16/asp-net-mvc-3over-view/</link>
		<comments>http://wrach.wordpress.com/2011/09/16/asp-net-mvc-3over-view/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 04:37:35 +0000</pubDate>
		<dc:creator>wrach</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[mvc asp.net]]></category>

		<guid isPermaLink="false">https://wrach.wordpress.com/?p=16</guid>
		<description><![CDATA[ก่อนจะไป ASP.Net MVC ขอพูดถึง ASP.Net Web Form ก่อนสักนิด เพื่อให้เห็นความแตกต่าง ASP.Net Web Form เขียน Code ในแบบของ Event Driven ข้อดี Rapid Application Development สร้าง Web App. ได้เร็ว ถ้าเคยเขียน Windows Form มาก่อน จะเรียนรู้ได้ทันที Designer เป็น WYSIWYG มี Server Side Controls ให้ใช้ในแบบ Drag and Drop ข้อเสีย เกิด network traffic มากจาก Viewstate และ Postback Page Life Cycle ซับซ้อน Control Client [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=16&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>ก่อนจะไป ASP.Net MVC ขอพูดถึง ASP.Net Web Form ก่อนสักนิด เพื่อให้เห็นความแตกต่าง</p>
<h2>ASP.Net Web Form</h2>
<p><a href="http://wrach.files.wordpress.com/2011/09/image18.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb18.png?w=372&#038;h=223" width="372" height="223" /></a><a href="http://wrach.files.wordpress.com/2011/09/image19.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb19.png?w=391&#038;h=226" width="391" height="226" /></a></p>
<p>เขียน Code ในแบบของ Event Driven</p>
<p>ข้อดี</p>
<ol>
<li>Rapid Application Development สร้าง Web App. ได้เร็ว </li>
<li>ถ้าเคยเขียน Windows Form มาก่อน จะเรียนรู้ได้ทันที </li>
<li>Designer เป็น WYSIWYG </li>
<li>มี Server Side Controls ให้ใช้ในแบบ Drag and Drop </li>
</ol>
<p>ข้อเสีย</p>
<ol>
<li>เกิด network traffic มากจาก Viewstate และ Postback </li>
<li>Page Life Cycle ซับซ้อน </li>
<li>Control Client Script ได้ไม่สะดวก </li>
</ol>
<p>ASP.Net ก็มีทั้งข้อดีและข้อเสียอยู่ แต่แล้วด้วยกระแส MVC จาก Ruby On Rails, Struts, JSF, etc. ทาง Microsoft จึงออก ASP.Net MVC ขึ้นมาเป็นทางเลือกเพื่อให้ Developer เลือกใช้ตามความเหมาะสมของ Project</p>
<h2>ASP.Net MVC</h2>
<p><a href="http://wrach.files.wordpress.com/2011/09/image20.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb20.png?w=398&#038;h=239" width="398" height="239" /></a><a href="http://wrach.files.wordpress.com/2011/09/image21.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb21.png?w=412&#038;h=237" width="412" height="237" /></a></p>
<p>เขียนในแบบ MVC</p>
<p>ข้อดี</p>
<ol>
<li>แบ่งส่วนการทำงานอย่างชัดเจน เป็น Model, View และ Controller </li>
<li>ควบคุม </li>
<li>เรียบง่าย </li>
</ol>
<h2>MVC คืออะไร</h2>
<p>
<table border="0" cellspacing="0" cellpadding="0" width="675">
<tbody>
<tr>
<td valign="top" width="259"><img alt="mvc_DesignPattern" src="http://i.msdn.microsoft.com/dynimg/IC263184.png" /></td>
<td valign="top" width="414"><strong>Model</strong> – <strong>“Data”</strong> ที่วิ่งผ่านไปมาใน Application ทั้งที่เป็นการ View และInput รวมถึง Database และ Data Rules, Business Logic             </p>
<p><strong>View – </strong>ส่วนของการแสดงผลติดต่อกับ User             <br /><strong>             <br />Controller &#8211; </strong>ส่วนของการควบคุม Flow การทำงานระหว่าง View และ Model </td>
</tr>
</tbody>
</table>
<h2>Asp.Net MVC 3 Pattern</h2>
<blockquote><p>View Engine, Controller, Model</p>
</blockquote>
<h2>&#160;</h2>
<h2>First Asp.Net MVC 3 Project</h2>
<p>สิ่งที่่ต้องมี</p>
<ol>
<li>Visual Studio 2010 หรือ Visual Studio 2010 Express Web Development      <br /><a href="http://mail.csigroups.com/owa/redir.aspx?C=2c7c29b67ddd4bc7acc14ef71921278a&amp;URL=http%3a%2f%2fwww.microsoft.com%2fvisualstudio%2fen-us%2fproducts%2f2010-editions%2fexpress-iso">http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express-iso</a> </li>
<li>Asp.Net MVC 3      <br /><a href="http://mail.csigroups.com/owa/redir.aspx?C=2c7c29b67ddd4bc7acc14ef71921278a&amp;URL=http%3a%2f%2fwww.microsoft.com%2fdownload%2fen%2fdetails.aspx%3fdisplaylang%3den%26id%3d1491">http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=1491</a> </li>
</ol>
<p>ตอนนี้เราจะมาเริ่มสร้าง Project แรกกัน</p>
<ol>
<li>
<div align="center">ไปที่เมนู File –&gt; New Project ที่ Dialog New Project เลือก Visual C# –&gt; ASP.Net MVC 3 Web Application (ใส่ชื่อและเลือก Location ตามต้องการ) แล้ว OK        <br /><a href="http://wrach.files.wordpress.com/2011/09/image22.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb22.png?w=558&#038;h=378" width="558" height="378" /></a></div>
</li>
<li>เลือก Project Template เป็น Internet Application และ View Engine เป็น Razor แล้ว OK      <br /> 
<p align="center"><a href="http://wrach.files.wordpress.com/2011/09/image23.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb23.png?w=344&#038;h=314" width="344" height="314" /></a></p>
</li>
<li>ที่ขั้นตอนนี้เราจะได้ Project Asp.Net MVC 3 โดยที่ Solution Explorer จะเห็น Structure ของ Project ดังนี้ </li>
</ol>
<p align="center"><a href="http://wrach.files.wordpress.com/2011/09/image24.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb24.png?w=597&#038;h=375" width="597" height="375" /></a></p>
<ol>
<ul>
<li>App_Data เหมาะสำหรับใส่ Physical Data เช่น MDB, SDF, SQL Lite, etc. </li>
<li>Content สำหรับพวก CSS, Image อะไรๆที่เป็น static </li>
<li>Controllers เป็นที่เก็บ code ในส่วน Controller โดยปกติ Class ที่ทำหน้าที่เป็น Controller จะลงท้ายด้วย Controller ใน Template Project จะมีตัวอย่างมาให้คือ AccountController.cs กับ HomeController.cs </li>
<li>Models เป็นที่เก็บ code ที่เกี่ยวก้องกับ Model เช่น Entity Class, Data Access </li>
<li>Scripts เป็นส่วนของ Client Scripts จาก Template จะใส่ jQuery 1.5.1 และ jQuery UI 1.8.11 และ scripts อื่นๆของทาง MS มา </li>
<li>Views เก็บส่วน View การแสดงผล ถ้า View Engine เป็น Razor จะเป็น .cshtml ส่วน ASPX ก็จะเป็น .aspx
<ul>
<li>View จะแยก Folder ตาม Controller </li>
<li>Shared จะเก็บสิ่งที่ View ใช้ร่วมกันอย่าง Master Page (_Layout.cshtml), Partial Page </li>
<li>_ViewStart.cshtml จะเป็น </li>
</ul>
</li>
</ul>
</ol>
<p align="left">กด F5 เพื่อ Run ก็จะเห็น Default Project ของ Asp.Net MVC ตามรูป</p>
<p align="left"><a href="http://wrach.files.wordpress.com/2011/09/image25.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;margin:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb25.png?w=244&#038;h=153" width="244" height="153" /></a><a href="http://wrach.files.wordpress.com/2011/09/image26.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb26.png?w=244&#038;h=160" width="244" height="160" /></a><a href="http://wrach.files.wordpress.com/2011/09/image27.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="image" border="0" alt="image" src="http://wrach.files.wordpress.com/2011/09/image_thumb27.png?w=244&#038;h=154" width="244" height="154" /></a></p>
<p align="left">ใน Part ต่อไปและอธิบายการทำงานของ Controller</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wrach.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wrach.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wrach.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wrach.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wrach.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wrach.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wrach.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wrach.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wrach.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wrach.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wrach.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wrach.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wrach.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wrach.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=16&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wrach.wordpress.com/2011/09/16/asp-net-mvc-3over-view/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/65da9e5a7ac7a693beb1a368dcf82f92?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wrach</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb18.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb19.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb20.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb21.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://i.msdn.microsoft.com/dynimg/IC263184.png" medium="image">
			<media:title type="html">mvc_DesignPattern</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb22.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb23.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb24.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb25.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb26.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2011/09/image_thumb27.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>Develop Web Application with JSF and MyFaces</title>
		<link>http://wrach.wordpress.com/2007/05/10/develop-web-application-with-jsf-and-myfaces/</link>
		<comments>http://wrach.wordpress.com/2007/05/10/develop-web-application-with-jsf-and-myfaces/#comments</comments>
		<pubDate>Thu, 10 May 2007 14:21:00 +0000</pubDate>
		<dc:creator>wrach</dc:creator>
				<category><![CDATA[JSF]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://wrach.wordpress.com/2007/05/10/develop-web-application-with-jsf-and-myfaces/</guid>
		<description><![CDATA[Develop Web Application with JSF and MyFaces JSF ย่อมาจาก JavaServer Faces เป็น Framework ที่ใช้ในการ Develop Web Application ด้วย Java โดยมีลักษณะการทำงานแบบ MVC (Model View Controller) จุดเด่นของ JSF เป็น Component-Based Framework ทำ ให้ ง่าย ใน การ Develop มี Component Support การ ใช้ งานเยอะ เป็น รูปแบบ Programming แบบ Event-Driven ซึ่ง ผู้ ใช้ ส่วน ใหญ่ คุ้นเคยดี Support จาก Vendor [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=8&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h1><font size="5" face="Verdana">Develop Web Application with JSF and MyFaces </font></h1>
<p><span style="font-family:Tahoma;"><font size="2">JSF <span>ย่อมาจาก </span>JavaServer Faces <span>เป็น </span>Framework <span>ที่ใช้ในการ </span>Develop Web Application <span>ด้วย </span>Java <span>โดยมีลักษณะการทำงานแบบ </span>MVC (Model View Controller) </font></span></p>
<h2><font face="Tahoma"><span>จุดเด่นของ </span>JSF </font></h2>
<ul>
<li class="MsoNormal"><font size="2"><span style="font-family:Tahoma;">เป็น </span><span style="font-family:Tahoma;">Component-Based Framework <span>ทำ ให้ ง่าย ใน การ </span>Develop </span></font></li>
<li class="MsoNormal"><font size="2"><span style="font-family:Tahoma;">มี </span><span style="font-family:Tahoma;">Component Support <span>การ ใช้ งานเยอะ </span></span></font></li>
<li class="MsoNormal"><font size="2"><span style="font-family:Tahoma;">เป็น รูปแบบ </span><span style="font-family:Tahoma;">Programming <span>แบบ </span>Event-Driven <span>ซึ่ง ผู้ ใช้ ส่วน ใหญ่ คุ้นเคยดี</span></span></font></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">Support <span>จาก </span>Vendor <span>เจ้า ใหญ่ๆ เช่น </span>IBM, Oracle, Apache, etc. </font></span></li>
<li class="MsoNormal"><font size="2"><span style="font-family:Tahoma;">ทำ งานร่วม กับ </span><span style="font-family:Tahoma;">Framework <span>อื่นๆ ได้ </span></span></font></li>
<li class="MsoNormal"><font size="2"><span style="font-family:Tahoma;">เป็น แบบ </span><span style="font-family:Tahoma;">MVC <span>ทำ ให้ ง่าย ใน การ </span>Develop <span>และ </span>Maintenance</span></font></li>
</ul>
<h1><font size="5" face="Verdana">MyFaces </font></h1>
<p><span style="font-family:Tahoma;"><font size="2">MyFaces <span>เป็น </span>JSF Component <span>จาก </span>Apache <span>ซึ่ง จะ ประกอบไป ด้วย </span>Component <span>จำนวนมากที่มาช่วยให้การ </span>Develop <span>ง่ายขึ้น </span></font></span></p>
<h2><font face="Tahoma">Development Environment </font></h2>
<ul>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">Eclipse WTP 1.53 </font></span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">Exadel Studio 4.0.4 (Eclipse Plug-in) </font></span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">Apache Tomcat 5.5 </font></span></li>
</ul>
<h2><font face="Tahoma">(MVC) Model, View, Controller </font></h2>
<p><span style="font-family:Tahoma;"><br />
<span></span></span><span style="font-family:Tahoma;"><font size="2">ที่มา </font></span><span style="font-family:Tahoma;"><a href="http://www.narisa.com/forums/index.php?showtopic=1036"><font size="2"><font color="#000080">FAQ: MVC (Model-View-Controller) <span>คืออะ ไร</span></font></font></a></span><span style="font-family:Tahoma;"><font size="2">Model: Data, Data Access Object, Beans<br />
View: JSP<br />
Controller: Java Class</font></p>
<p></span></p>
<h2><font face="Tahoma">Project Structure </font></h2>
<p><span style="font-family:Tahoma;"><font size="2">ประกอบไปด้วยส่วนที่สำคัญๆตามนี้</font></span></p>
<ul>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">Java Source <span>คือที่ เก็บ </span>source code <span>ของ </span>java <span>ซึ่ง จะ เป็น ส่วน ของ </span>Controller <span>กับ </span>Model </font></span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">JSP <span>เป็น ส่วน ของ </span>View </font></span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">web.xml <span>เป็น </span>config file <span>ที่ ไว้ ควบคุม </span>Web Project <span>ตามมาตรฐานของ </span>Java </font></span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">faces-config.xml <span>เป็น </span>config file <span>ที่สำ คัญของ </span>Project <span>ที่ จะ เป็น การควบคุมการทำ งาน ทั้ง หมดของ </span>JSF Project </font></span></li>
</ul>
<h2><font face="Tahoma">Managed Bean </font></h2>
<p><font size="2"><span style="font-family:Tahoma;">เป็น </span><span style="font-family:Tahoma;">java class <span>ที่กำหนดไว้ใน </span>faces-config <span>ว่าจะมีการใช้งาน </span>class <span>นั้นๆโดยจะมีการกำหนดชื่อ</span>, scrope(request, session, application) <span>และ </span>Class</span></font></p>
<h2><font face="Tahoma">Tag Library </font></h2>
<p><span style="font-family:Tahoma;"><font size="2">&lt;%@ taglib uri=&#8221;http://java.sun.com/jsf/html&#8221; prefix=&#8221;h&#8221; %&gt; <span>เรียก ใช้ </span>jsf html <span>เป็น </span>component <span>สำ หรับแสดงผล ใน แบบ </span>html <span>เช่น </span>Text Box, Combo, Check Box, etc.<br />
&lt;%@ taglib uri=&#8221;http://java.sun.com/jsf/core&#8221; prefix=&#8221;f&#8221; %&gt; <span>เรียก ใช้ </span>jsf html  <span>เป็น ส่วน ประกอบสำ หรับการแสดงผล เช่น </span>item <span>ใน </span>combo, validator, etc.<br />
&lt;%@ taglib uri=&#8221;http://myfaces.apache.org/tomahawk&#8221; prefix=&#8221;t&#8221;%&gt; <span>เรียก ใช้ </span>MyFaces Tomahawk component <span>ของ </span>MyFaces <span>ที่ เพิ่มเติมมา จาก </span>jsf html</font></span></p>
<h2><font face="Tahoma">JSP File Structure </font></h2>
<p><span style="font-family:Tahoma;"><font size="2">จะเหมือน </font></span><span style="font-family:Tahoma;"><font size="2">html <span>ทั่วไปแต่จะมีเพิ่มส่วนของ </span>f:view <span>เข้ามา</span>Component <span>ใน </span>JSF <span>จะ ถูก </span>render <span>ก็ต่อเมื่อประกาศ ไว้ ใน </span>&lt;f:view&gt; <span>ถ้า อยู่นอก </span>f:view <span>ก็จะไม่แสดงผลและถ้ามีการส่ง </span>data <span>ไป </span>controller <span>ก็จะต้อง อยู่ ใน </span>&lt;h:form&gt; <span>ด้วย</span><br />
<span>ตัวอย่าง</span></font></span><span style="font-family:Tahoma;"><font size="2">&lt;html&gt;<br />
&lt;body&gt;<br />
&lt;h1&gt;JSF First Page&lt;/h1&gt;<br />
&lt;f:view&gt;<br />
    &lt;h:form&gt;<br />
        Name: &lt;h:inputText&gt;&lt;/h:inputText&gt;<br />
    &lt;/h:form&gt;<br />
&lt;/f:view&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</font></span></p>
<h2><font face="Tahoma">Create Project with Exadel </font></h2>
<p><span class="Heading2Char"><span style="font-size:14pt;"><strong><font face="Tahoma">Kick Start Project<br />
</font></strong></span></span><span style="font-family:Tahoma;"><font size="2">Kick Start Project <span>ของ </span>Exadel <span>เป็น </span>program <span>เล็กๆ ที่จะสร้างการทำงานพื้นฐานของ </span>JSF <span>ขึ้นมาโดยจะมีขั้นตอนการทำงานตามนี้</span></font></span></p>
<ol>
<li class="MsoNormal"><font size="2"><span style="font-family:Tahoma;">รับชื่อจาก </span><span style="font-family:Tahoma;">screen </span></font></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">แสดงคำทักทายชื่อที่รับเข้ามา</font></span></li>
</ol>
<p><span style="font-family:Tahoma;"><br />
<font size="2">view: inputname.jsp, greeting.jsp<br />
controller: GetNameBean.java<br />
model: None       </font></span><span style="font-family:Tahoma;"><font size="2"><span class="Heading2Char"><span style="font-size:14pt;"><strong><font face="Tahoma">JSF Component<br />
</font></strong></span></span><span style="font-family:Tahoma;"><br />
<font size="2"><strong>outputText<br />
</strong>descrption: <span>แสดงข้อ ความ</span><br />
property: value- <span>ข้อ ความ ที่ ต้อง การแสดง</span></font></span><span style="font-family:Tahoma;"><font size="2">&lt;h:outputText value=&#8221;Hello World&#8221; /&gt;</font></span><span style="font-family:Tahoma;"><br />
<font size="2"><strong>outputLabel<br />
</strong>description: <span>แสดงข้อ ความ ภาย ใต้ </span>tag label<br />
property: value- <span>ข้อ ความ ที่ ต้อง การแสดง</span></font></span><span style="font-family:Tahoma;"><font size="2">&lt;h:outputLabel value=&#8221;Hello World&#8221; /&gt;</font></span><span style="font-family:Tahoma;"><br />
<font size="2"><strong>outputLink<br />
</strong>description: <span>แสดงข้อ ความ ที่ </span>link <span>ไป ยัง </span>page <span>อื่นๆ </span>, <span>จะ ต้อง ใช้ ร่วม กับ </span>component <span>อื่นๆ เพื่อแสดงข้อ ความ หรือ รูปแบบ</span><br />
property: value-page <span>ที่ ต้อง การ </span>link <span>ไป </span>, target-target windows (blank, &lt;window name&gt;)</font></span><span style="font-family:Tahoma;"><font size="2">&lt;h:outputLink value=&#8221;http://www.yahoo.com&#8221; target=&#8221;blank&#8221;&gt;</font></span><span style="font-family:Tahoma;"><font size="2">&lt;h:outputText value=&#8221;Yahoo&#8221; /&gt;</font></span><span style="font-family:Tahoma;"><font size="2">&lt;/h:outputLink&gt;</font></span><span style="font-family:Tahoma;"><br />
<font size="2"><strong>inputText<br />
</strong>description: <span>รับ </span>input text <span>ใน แบบ </span>text box<br />
property: value-property <span>ของ </span>manage bean</font></span><span style="font-family:Tahoma;"><font size="2">&lt;h:inputText value=&#8221; &#8221; /&gt;</font></span><span style="font-family:Tahoma;"><br />
<font size="2"><strong>inputTextarea<br />
</strong>description: <span>รับ </span>input text <span>ใน แบบ </span>text area<br />
property: value-property <span>ของ </span>manage bean, rows- <span>จำ นวนบรรทัด </span>, cols- <span>ขนาดของ </span>columns</font></span><span style="font-family:Tahoma;"><font size="2">&lt;h:inputTextarea value=&#8221; &#8221; cols=&#8221;40&#8243; rows=&#8221;4&#8243;&gt;&lt;/h:inputTextarea&gt;</font></span><span style="font-family:Tahoma;"><br />
<font size="2"><strong>commandButton<br />
</strong>description: <span>คือ </span>button <span>โดย จะ ส่ง </span>action <span>ไป ยัง </span>manage bean<br />
property: value- <span>ข้อ ความ ที่ ต้อง การแสดง </span>, action-action <span>ใน </span>manage bean</font></span><span style="font-family:Tahoma;"><font size="2">&lt;t:commandButton id=&#8221;submit&#8221; action=&#8221;sayhello&#8221; value=&#8221;Say Hello&#8221; /&gt;</font></span><span style="font-family:Tahoma;"><font size="2"> </font></span></p>
<p></font></span><strong><span style="font-family:Tahoma;"><font size="2">commandLink<br />
</font></span></strong><span style="font-family:Tahoma;"><font size="2">description: <span>จะ คล้าย กับ </span>commandButton <span>แต่ แสดงผล เป็น </span>link <span>ที่ส่ง </span>action <span>ไป ยัง </span>manage bean <span>ซึ่ง จะ ไม่ เหมือน กับ </span>outputLink <span>ที่ ไม่ ได้ ส่ง </span>action<br />
property: value- <span>ข้อ ความ ที่ ต้อง การแสดง </span>( <span>ไม่ เหมือน </span>outputLink), action-action <span>ใน </span>manage bean</font></span><span style="font-family:Tahoma;"><font size="2">&lt;t:commandLink id=&#8221;submit&#8221; action=&#8221;sayhello&#8221; value=&#8221;Say Hello&#8221; /&gt;</font></span><span style="font-family:Tahoma;"><br />
<font size="2"><strong>t:inputCalendar<br />
</strong>description: <span>แสดง </span>Calendar <span>เพื่อรับ </span>input <span>วันที่</span><br />
property: value-Date, renderAsPopup,popupDateFormat</font></span><span style="font-family:Tahoma;"><font size="2">&lt;t:inputCalendar renderAsPopup=&#8221;true&#8221; popupDateFormat=&#8221;yyyyMMdd&#8221;&gt;&lt;/t:inputCalendar&gt;</font></span><span style="font-family:Tahoma;"><br />
<font size="2"><strong>selectBooleanCheckbox<br />
</strong>description: checkbox<br />
property: value-true/false, <span>ใน การแสดงข้อ ความ จะ ใช้ ร่วม กับ </span>output component</font></span><span style="font-family:Tahoma;"><font size="2">&lt;h:outputText value=&#8221; &#8221; &gt;</font></span><span style="font-family:Tahoma;"><font size="2">&lt;h:selectBooleanCheckbox value=&#8221;true&#8221; /&gt;</font></span><span style="font-family:Tahoma;"><font size="2">&lt;/h:outputText&gt;</font></span><span style="font-family:Tahoma;"><br />
<font size="2"><strong>selectOneMenu<br />
</strong>description: combo<br />
property: value-property <span>ของ </span>manage bean<br />
f:selectItems &#8211; <span>สำ หรับแสดง </span>option <span>โดย เอาค่ามา จาก </span>property <span>ที่ เป็น </span>list of SelectItem <span>ใน </span>manage beans<br />
f:selectItem &#8211; <span>สำ หรับแสดง </span>option <span>ใน ใส่ เอง ซึ่ง กำ หนด </span>label <span>กับ </span>value <span>ได้ ที่ </span>itemLabel <span>กับ </span>itemValue</font></span><span style="font-family:Tahoma;"><font size="2">&lt;h:selectOneMenu value=&#8221; &#8220;&gt;<br />
    &lt;f:selectItem itemLabel=&#8221;Option1&#8243; itemValue=&#8221;1&#8243;/&gt;<br />
    &lt;f:selectItem itemLabel=&#8221;Option2&#8243; itemValue=&#8221;2&#8243;/&gt;<br />
&lt;/h:selectOneMenu&gt;<br />
&lt;h:selectOneMenu value=&#8221; &#8220;&gt;<br />
    &lt;f:selectItems value=&#8221;#{GetNameBean.optionList} &#8220;/&gt;<br />
&lt;/h:selectOneMenu&gt;</font></span><span style="font-family:Tahoma;"><br />
<font size="2"><strong>selectOneListbox<br />
</strong>description: List<br />
property: value-property <span>ของ </span>manage bean<br />
f:selectItems &#8211; <span>สำ หรับแสดง </span>option <span>โดย เอาค่ามา จาก </span>property <span>ที่ เป็น </span>list of SelectItem <span>ใน </span>manage beans<br />
f:selectItem &#8211; <span>สำ หรับแสดง </span>option <span>ใน ใส่ เอง ซึ่ง กำ หนด </span>label <span>กับ </span>value <span>ได้ ที่ </span>itemLabel <span>กับ </span>itemValue<br />
<span>ตัวอย่างเหมือน กับ </span>selectOneMenu</font></span><span style="font-family:Tahoma;"><font size="2"><font size="2"><strong>selectOneRadio<br />
</strong>description: Radio Button<br />
property: value-property <span>ของ </span>manage bean<br />
f:selectItems &#8211; <span>สำ หรับแสดง </span>option <span>โดย เอาค่ามา จาก </span>property <span>ที่ เป็น </span>list of SelectItem <span>ใน </span>manage beans<br />
f:selectItem &#8211; <span>สำ หรับแสดง </span>option <span>ใน ใส่ เอง ซึ่ง กำ หนด </span>label <span>กับ </span>value <span>ได้ ที่ </span>itemLabel <span>กับ </span>itemValue<br />
<span>ตัวอย่างเหมือน กับ </span>selectOneMenu</font></p>
<p></font><font size="2"><strong>panelGrid<br />
</strong>descrption: <span>สร้าง </span>layout <span>ใน รูปแบบ </span>table<br />
property: columns- <span>จำ นวน </span>columns</font></span><span style="font-family:Tahoma;"><font size="2">&lt;h:panelGrid columns=&#8221;2&#8243;&gt; </font></span><span style="font-family:Tahoma;"><font size="2">&lt;/h:panelGrid&gt; </font></span><span style="font-family:Tahoma;"><font size="2"> </font></span><span style="font-family:Tahoma;"> </span><strong><span style="font-family:Tahoma;"><font size="2">panelGroup<br />
</font></span></strong><span style="font-family:Tahoma;"><font size="2">descrption: <span>จัดกลุ่มของ </span>component <span>ให้ อยู่ เพื่อ ให้ อยู่ ใน </span>column <span>เดียว กัน จะ ใช้ ร่วม กับ </span>panelGrid<br />
property: value- <span>ข้อ ความ ที่ ต้อง การแสดง</span></font></span><span style="font-family:Tahoma;"><font size="2">&lt;h:panelGrid columns=&#8221;2&#8243;&gt;</font></span><span style="font-family:Tahoma;"><font size="2">&lt;h:inputText value=&#8221; &#8221; /&gt;</font></span><span style="font-family:Tahoma;"><font size="2">&lt;h:panelGroup&gt;</font></span><span style="font-family:Tahoma;"><font size="2">&lt;h:commandButton action=&#8221; &#8221; value=&#8221;Ok&#8221; /&gt;</font></span><span style="font-family:Tahoma;"><font size="2">&lt;/h:panelGroup&gt;</font></span><span style="font-family:Tahoma;"><font size="2">&lt;/h:panelGrid&gt;</font></span><span style="font-family:Tahoma;"><br />
<strong><font size="2">Common Property</font></strong></span><span style="font-family:Tahoma;"><font size="2">rendered &#8211; <span>ซ่อน หรือ แสดง </span></font></span><span style="font-family:Tahoma;"><font size="2">readonly &#8211; <span>อ่าน ได้ อย่างเดียว </span></font></span><span style="font-family:Tahoma;"><font size="2">disabled &#8211; <span>ไม่ </span>Enable </font></span><span style="font-family:Tahoma;"><font size="2">id &#8211; id <span>ของ </span>component <span>นั้น ถ้า ไม่ ใส่ จะ </span>auto generate <span>ให้ แต่ ถ้า ใส่ ก็ห้าม ซ้ำ กัน </span></font></span><span style="font-family:Tahoma;"><font size="2">style &#8211; style <span>ที่ จะ กำ หนด ให้ กับ </span>component <span>นั้น เช่น </span>font: tahoma; font-size:small </font></span><span style="font-family:Tahoma;"><font size="2">styleClass &#8211; css class <span>ที่กำ หนด ให้ </span>class <span>นั้น </span></font></span><span style="font-family:Tahoma;"><font size="2">title &#8211; text <span>ที่ จะ แสดงตอน </span>mouse hover </font></span><span style="font-family:Tahoma;"><br />
<font size="2"><strong>Reference to Manage Bean<br />
</strong><span>จะ ใช้ รูปแบบนี้คือ </span>#{manageBeans.property} <span>เช่น </span>&lt;h:inputText value=&#8221;#{loginCtrl.userName} &#8221; /&gt; <span>หรือ </span>&lt;h:outputText value=&#8221;Hello #{loginCtrl.userName}, How are you?&#8221; /&gt;</font></span><span style="font-family:Tahoma;"><font size="2"><span>จะ มี </span>Component <span>ที่สำ คัญอีกตัวหนึ่งคือ </span>DataTable <span>ซึ่ง จะ พูด ถึง ใน ส่วน ต่อไป</span></p>
<p></font></span></p>
<h2><font face="Tahoma">Navigator Rules </font></h2>
<p><font size="2"><span style="font-family:Tahoma;">ใน </span><span style="font-family:Tahoma;">JSF <span>มีการส่ง </span>message <span>เพื่อที่จะทำการ </span>link <span>ไป ยัง </span>page <span>ใดๆ ใน </span>project <span>โดย ผ่านทาง </span>Action <span>ซึ่ง </span>Navigator Rules <span>จะ กำหนด ไว้ ใน </span>faces-config.xml</span></font><span style="font-family:Tahoma;"><font size="2"> &lt;navigation-rule&gt;<br />
  &lt;from-view-id&gt;/pages/ShowcaseView.jsp&lt;/from-view-id&gt;<br />
  &lt;navigation-case&gt;<br />
   &lt;from-outcome&gt;go_ShowcaseView&lt;/from-outcome&gt;<br />
   &lt;to-view-id&gt;/pages/ShowcaseView.jsp&lt;/to-view-id&gt;<br />
  &lt;/navigation-case&gt;<br />
 &lt;/navigation-rule&gt;</font></span><span style="font-family:Tahoma;"><font size="2">หมายถึงจากหน้า </font></span><span style="font-family:Tahoma;"><font size="2">/pages/ShowcaseView.jsp <span>ถ้า มี </span>Message <span>เข้ามาว่า </span>go_ShowcaseView <span>ให้ ไปที่ </span>/pages/ShowcaseView.jsp</font></span><span style="font-family:Tahoma;"><font size="2"><font size="2"><strong>Exercise<br />
</strong><span>สร้าง </span>Page <span>ที่รับ </span>input <span>จาก </span>component <span>ต่างๆ แล้ว แสดงผลค่าที่รับเข้ามา</span><br />
<span>ขั้นตอน</span></font></p>
<p></font></span></p>
<ol>
<li class="MsoNormal"><font size="2"><span style="font-family:Tahoma;">สร้าง </span><span style="font-family:Tahoma;">controller class </span></font></li>
<li class="MsoNormal"><font size="2"><span style="font-family:Tahoma;">ใน </span><span style="font-family:Tahoma;">controller class <span>สร้าง </span>property <span>สำ หรับรับ </span>Input <span>ตาม </span>Type </span></font></li>
<li class="MsoNormal"><font size="2"><span style="font-family:Tahoma;">สร้าง </span><span style="font-family:Tahoma;">manage bean <span>จาก </span>controller class </span></font></li>
<li class="MsoNormal"><font size="2"><span style="font-family:Tahoma;">สร้าง </span><span style="font-family:Tahoma;">view <span>โดย แบ่ง เป็น ส่วน การรับ </span>Input <span>แล </span>Show Row <span>ใน </span>DataTable </span></font></li>
</ol>
<p><span style="font-family:Tahoma;"></span></p>
<h2><font face="Tahoma">DataTable </font></h2>
<p><span style="font-family:Tahoma;"><font size="2">t:dataTable <span>เป็น </span>Component <span>ที่ ใช้แสดงผลของข้อมูลในรูปแบบตาราง ซึ่งสามารถปรับเปลี่ยนได้ หลายรูปแบบตามความ เหมาะสม</span><br />
property:</font></span></p>
<ul>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">value &#8211; Collection <span>ของ </span>Object <span>อาจ จะ เป็น </span>Array <span>หรือ </span>List <span>ก็ ได้ </span></font></span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">var &#8211; <span>ชื่อที่ ไว้ สำหรับ </span>reference <span>ไปยัง </span>object <span>ในแต่ละ </span>row </font></span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">rowIndexVar &#8211; <span>ชื่อที่ไว้สำหรับ </span>reference <span>ไป ยัง </span>row idex </font></span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">rows &#8211; <span>จำนวน </span>row <span>ที่แสดงผล </span></font></span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">styleClass, headerClass, footerClass, rowClasses &#8211; Class <span>ของ </span>Style <span>ที่สำหรับกำหนดรูปแบบของ </span>Table </font></span></li>
</ul>
<p><span style="font-family:Tahoma;"><br />
<font size="2">t:column <span>สำ หรับกำ หนดการแสดง ใน แต่ละ </span>column <span>ใน </span>dataTable <span>จะ ต้อง ทำ งานร่วม กับ </span>component <span>อื่นๆ ้ เช่น </span>outputText, commandLink, etc.</font></span><span style="font-family:Tahoma;"><font size="2">&lt;t:dataTable<br />
                id=&#8221;dataTable&#8221;<br />
                value=&#8221;#{displayEmployeeCtrl.employeeList} &#8220;<br />
                var=&#8221;data&#8221; rowIndexVar=&#8221;rowNo&#8221;<br />
                rows=&#8221;10&#8243;<br />
                styleClass=&#8221;scrollerTable&#8221;<br />
                   headerClass=&#8221;standardTable_Header&#8221;<br />
                footerClass=&#8221;standardTable_Footer&#8221;<br />
                rowClasses=&#8221;standardTable_Row1&#8243; &gt;<br />
                &lt;t:column&gt;<br />
                    &lt;f:facet name=&#8221;header&#8221;&gt;&lt;h:outputText value=&#8221;#&#8221; /&gt;&lt;/f:facet&gt;<br />
                    &lt;h:selectBooleanCheckbox value=&#8221;#{displayEmployeeCtrl.select[rowNo]} &#8221; /&gt;<br />
                &lt;/t:column&gt;               <br />
                &lt;t:column&gt;<br />
                    &lt;f:facet name=&#8221;header&#8221;&gt;&lt;h:outputText value=&#8221;No.&#8221; /&gt;&lt;/f:facet&gt;<br />
                    &lt;h:outputText value=&#8221;#{rowNo+1} &#8221; /&gt;<br />
                &lt;/t:column&gt;<br />
&lt;/t:dataTable&gt;</font></span><font size="2"><strong><span style="font-family:Tahoma;">Exercise<br />
</span></strong><span style="font-family:Tahoma;">สร้าง </span></font><span style="font-family:Tahoma;"><font size="2">Page <span>ที่รับ </span>input <span>เป็น จำ นวนของ </span>Row <span>ที่ ต้อง การ ให้ แสดงผล เมื่อ ใส่ เสร็จกดปุ่ม </span>Ok <span>ก็ จะ แสดงข้อมูล ใน </span>DataTable <span>ตามจำ นวน </span>Row <span>ที่ ใส่ เข้า มา</span><br />
<span>โดย แต่ละ </span>row <span>จะ มีข้อมูลตามนี้</span></font></span></p>
<ol>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">Row Number </font></span></li>
<li class="MsoNormal"><span style="font-family:Tahoma;"><font size="2">Input Text </font></span></li>
<li class="MsoNormal"><font size="2"><span style="font-family:Tahoma;">ข้อ ความ ว่า </span><span style="font-family:Tahoma;">Input Filename Number + Row Number </span></font></li>
</ol>
<p><span style="font-family:Tahoma;"><font size="2">ขั้นตอน</font></span><span style="font-family:Tahoma;"><span><font size="2">1.</font><span style="font:7pt 'Times New Roman';">       </span></span></span><font size="2"><span style="font-family:Tahoma;">สร้าง </span><span style="font-family:Tahoma;">Class <span>ของแต่ละ </span>Row </span></font><span style="font-family:Tahoma;"><span><font size="2">2.</font><span style="font:7pt 'Times New Roman';">       </span></span></span><font size="2"><span style="font-family:Tahoma;">สร้าง </span><span style="font-family:Tahoma;">Class <span>ของ </span>Controller <span>ให้ มี </span>property <span>สำ หรับรับ </span>Input <span>จำ นวน </span>Row <span>และ </span>List <span>ของ </span>Row</span></font><span style="font-family:Tahoma;"><span><font size="2">3.</font><span style="font:7pt 'Times New Roman';">       </span></span></span><font size="2"><span style="font-family:Tahoma;">ใน </span><span style="font-family:Tahoma;">Controller <span>สร้าง </span>Function <span>ที่ ไม่ มี </span>Argument <span>เพื่อ </span>Generate List <span>ของ </span>Row <span>ตามจำ นวนที่ </span>Input <span>เข้า มา </span></span></font><span style="font-family:Tahoma;"><span><font size="2">4.</font><span style="font:7pt 'Times New Roman';">       </span></span></span><font size="2"><span style="font-family:Tahoma;">สร้าง </span><span style="font-family:Tahoma;">View <span>ที่มีการรับ </span>Input <span>และ แสดงผล </span>DataTable</span></font></p>
<h2><font face="Tahoma">Create Real World Application </font></h2>
<p><font size="2"><span style="font-family:Tahoma;">ในส่วนนี้จะเป็นการสร้าง </span><span style="font-family:Tahoma;">Web Application <span>ด้วย </span>JSF <span>โดย เป็น </span>Screen <span>สำ หรับ </span>Search, Add, Edit and Delete <span>ข้อมูลพนักงาน โดย จะเริ่มตั้งแต่การ </span>Design Program <span>จาก </span>Draft Design <span>ที่ </span>User <span>ส่งมา</span></span></font><span style="font-family:Tahoma;"><font size="2">Resource </font></span><span style="font-family:Tahoma;"><font size="2">JSF Website </font><a href="http://java.sun.com/javaee/javaserverfaces/"><font size="2" color="#000080">http://java.sun.com/javaee/javaserverfaces/</font></a><br />
<font size="2">MyFaces Website </font><a href="http://myfaces.apache.org/"><font size="2" color="#000080">http://myfaces.apache.org/</font></a></span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wrach.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wrach.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wrach.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wrach.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wrach.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wrach.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wrach.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wrach.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wrach.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wrach.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wrach.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wrach.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wrach.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wrach.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wrach.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wrach.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=8&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wrach.wordpress.com/2007/05/10/develop-web-application-with-jsf-and-myfaces/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/65da9e5a7ac7a693beb1a368dcf82f92?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wrach</media:title>
		</media:content>
	</item>
		<item>
		<title>การหาวิธีการเดินทาง</title>
		<link>http://wrach.wordpress.com/2007/04/24/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%ab%e0%b8%b2%e0%b8%a7%e0%b8%b4%e0%b8%98%e0%b8%b5%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%94%e0%b8%b4%e0%b8%99%e0%b8%97%e0%b8%b2%e0%b8%87/</link>
		<comments>http://wrach.wordpress.com/2007/04/24/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%ab%e0%b8%b2%e0%b8%a7%e0%b8%b4%e0%b8%98%e0%b8%b5%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%94%e0%b8%b4%e0%b8%99%e0%b8%97%e0%b8%b2%e0%b8%87/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 12:48:56 +0000</pubDate>
		<dc:creator>wrach</dc:creator>
				<category><![CDATA[Service]]></category>

		<guid isPermaLink="false">http://wrach.wordpress.com/2007/04/24/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%ab%e0%b8%b2%e0%b8%a7%e0%b8%b4%e0%b8%98%e0%b8%b5%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%94%e0%b8%b4%e0%b8%99%e0%b8%97%e0%b8%b2%e0%b8%87/</guid>
		<description><![CDATA[มีความคิดขึ้นมาว่า ถ้าเราจะไปที่ไหนสักที่ ซึ่งอาจจะรู้จักหรือไม่รู้จักแต่ต้องการที่รู้วิธีการเดินทางในแบบต่างๆ เช่นทางรถส่วนตัว, ทางรถโดยสารสาธารณะ, ฯลฯ แล้วก็ไม่รู้จะถามใคร ซึ่งถ้ามี Service ตรงนี้ขึ้นก็จะช่วยให้ฃีวิตง่ายขึ้น ยิ่งสำหรับคนที่ต้องเดินทางบ่อยๆน่าจะเป็นประโยชน์ ก็ไม่รู้ว่าข้อมูลเส้นทางพวกนี้มีใครทำเก็บไว้บ้างรึเปล่า พวกบริการส่งพิซซ่า ส่งสินค้า ก็อาจจะมีข้อมูลพวกนี้อยู่บ้าง แนวทางการ implement คงเริ่มจากในกรุงเทพก่อน รวบรวมข้อมูลเส้นทางจากแหล่งต่างๆ แผนที่รถเมล์ เส้นทางถนน เส้นทางทางด่วน Design วิธีการเก็บข้อมูล Design Service Design ระบบการใช้งาน Coding Etc. ประมาณนี้<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=7&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>มีความคิดขึ้นมาว่า ถ้าเราจะไปที่ไหนสักที่ ซึ่งอาจจะรู้จักหรือไม่รู้จักแต่ต้องการที่รู้วิธีการเดินทางในแบบต่างๆ เช่นทางรถส่วนตัว, ทางรถโดยสารสาธารณะ, ฯลฯ แล้วก็ไม่รู้จะถามใคร ซึ่งถ้ามี Service ตรงนี้ขึ้นก็จะช่วยให้ฃีวิตง่ายขึ้น ยิ่งสำหรับคนที่ต้องเดินทางบ่อยๆน่าจะเป็นประโยชน์<br />
ก็ไม่รู้ว่าข้อมูลเส้นทางพวกนี้มีใครทำเก็บไว้บ้างรึเปล่า พวกบริการส่งพิซซ่า ส่งสินค้า ก็อาจจะมีข้อมูลพวกนี้อยู่บ้าง<br />
แนวทางการ implement<br />
คงเริ่มจากในกรุงเทพก่อน</p>
<ol>
<li>รวบรวมข้อมูลเส้นทางจากแหล่งต่างๆ
<ol>
<li>แผนที่รถเมล์</li>
<li>เส้นทางถนน</li>
<li>เส้นทางทางด่วน</li>
</ol>
</li>
<li>Design วิธีการเก็บข้อมูล</li>
<li>Design Service</li>
<li>Design ระบบการใช้งาน</li>
<li>Coding</li>
<li>Etc.</li>
</ol>
<p>ประมาณนี้</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wrach.wordpress.com/7/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wrach.wordpress.com/7/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wrach.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wrach.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wrach.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wrach.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wrach.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wrach.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wrach.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wrach.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wrach.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wrach.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wrach.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wrach.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wrach.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wrach.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=7&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wrach.wordpress.com/2007/04/24/%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%ab%e0%b8%b2%e0%b8%a7%e0%b8%b4%e0%b8%98%e0%b8%b5%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b9%80%e0%b8%94%e0%b8%b4%e0%b8%99%e0%b8%97%e0%b8%b2%e0%b8%87/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/65da9e5a7ac7a693beb1a368dcf82f92?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wrach</media:title>
		</media:content>
	</item>
		<item>
		<title>Poll Service</title>
		<link>http://wrach.wordpress.com/2006/08/22/poll-service/</link>
		<comments>http://wrach.wordpress.com/2006/08/22/poll-service/#comments</comments>
		<pubDate>Tue, 22 Aug 2006 12:47:10 +0000</pubDate>
		<dc:creator>wrach</dc:creator>
				<category><![CDATA[ASP]]></category>

		<guid isPermaLink="false">https://wrach.wordpress.com/2006/08/22/poll-service/</guid>
		<description><![CDATA[น่าจะเป็นเรื่องหนึ่งที่จะเอาทำเป็น Service ได้ (แต่อาจจะฟรี) อีกเรื่องที่นึกออก แต่น่าจะยากในการ Implement คือเรื่อง Test  ถ้าทำแล้วจะมีใครใช้มั้ยหว่า<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=6&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>น่าจะเป็นเรื่องหนึ่งที่จะเอาทำเป็น Service ได้ (แต่อาจจะฟรี)<br />
อีกเรื่องที่นึกออก แต่น่าจะยากในการ Implement คือเรื่อง Test  ถ้าทำแล้วจะมีใครใช้มั้ยหว่า</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wrach.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wrach.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wrach.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wrach.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wrach.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wrach.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wrach.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wrach.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wrach.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wrach.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wrach.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wrach.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wrach.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wrach.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wrach.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wrach.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=6&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wrach.wordpress.com/2006/08/22/poll-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/65da9e5a7ac7a693beb1a368dcf82f92?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wrach</media:title>
		</media:content>
	</item>
		<item>
		<title>ลอง Post จาก Performance</title>
		<link>http://wrach.wordpress.com/2006/08/21/%e0%b8%a5%e0%b8%ad%e0%b8%87-post-%e0%b8%88%e0%b8%b2%e0%b8%81-performance/</link>
		<comments>http://wrach.wordpress.com/2006/08/21/%e0%b8%a5%e0%b8%ad%e0%b8%87-post-%e0%b8%88%e0%b8%b2%e0%b8%81-performance/#comments</comments>
		<pubDate>Mon, 21 Aug 2006 16:05:13 +0000</pubDate>
		<dc:creator>wrach</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://wrach.wordpress.com/2006/08/21/%e0%b8%a5%e0%b8%ad%e0%b8%87-post-%e0%b8%88%e0%b8%b2%e0%b8%81-performance/</guid>
		<description><![CDATA[Test Test ทดลองๆ<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=5&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Test Test<br />
ทดลองๆ</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wrach.wordpress.com/5/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wrach.wordpress.com/5/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wrach.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wrach.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wrach.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wrach.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wrach.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wrach.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wrach.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wrach.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wrach.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wrach.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wrach.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wrach.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wrach.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wrach.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=5&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wrach.wordpress.com/2006/08/21/%e0%b8%a5%e0%b8%ad%e0%b8%87-post-%e0%b8%88%e0%b8%b2%e0%b8%81-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/65da9e5a7ac7a693beb1a368dcf82f92?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wrach</media:title>
		</media:content>
	</item>
		<item>
		<title>ย้ายมาลอง Word Press</title>
		<link>http://wrach.wordpress.com/2006/08/21/%e0%b8%a2%e0%b9%89%e0%b8%b2%e0%b8%a2%e0%b8%a1%e0%b8%b2%e0%b8%a5%e0%b8%ad%e0%b8%87-word-press/</link>
		<comments>http://wrach.wordpress.com/2006/08/21/%e0%b8%a2%e0%b9%89%e0%b8%b2%e0%b8%a2%e0%b8%a1%e0%b8%b2%e0%b8%a5%e0%b8%ad%e0%b8%87-word-press/#comments</comments>
		<pubDate>Mon, 21 Aug 2006 15:58:31 +0000</pubDate>
		<dc:creator>wrach</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">https://wrach.wordpress.com/2006/08/21/%e0%b8%a2%e0%b9%89%e0%b8%b2%e0%b8%a2%e0%b8%a1%e0%b8%b2%e0%b8%a5%e0%b8%ad%e0%b8%87-word-press/</guid>
		<description><![CDATA[ย้ายมา Word Press ด้วยเหตุผลที่สามารถจัด Categories ได้ ซึ่งจริงๆชอบ UI กับ Theme ของ Blogger มากกว่า (แล้วมันก็เป็น google ด้วย)<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=3&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>ย้ายมา Word Press ด้วยเหตุผลที่สามารถจัด Categories ได้<br />
ซึ่งจริงๆชอบ UI กับ Theme ของ Blogger มากกว่า (แล้วมันก็เป็น google ด้วย)</p>
<p align="center"><img src="http://wrach.files.wordpress.com/2006/08/fight-club1.thumbnail.jpg" alt="Fight Club" /></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wrach.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wrach.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wrach.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wrach.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wrach.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wrach.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wrach.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wrach.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wrach.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wrach.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wrach.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wrach.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wrach.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wrach.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wrach.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wrach.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=3&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wrach.wordpress.com/2006/08/21/%e0%b8%a2%e0%b9%89%e0%b8%b2%e0%b8%a2%e0%b8%a1%e0%b8%b2%e0%b8%a5%e0%b8%ad%e0%b8%87-word-press/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/65da9e5a7ac7a693beb1a368dcf82f92?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wrach</media:title>
		</media:content>

		<media:content url="http://wrach.files.wordpress.com/2006/08/fight-club1.thumbnail.jpg" medium="image">
			<media:title type="html">Fight Club</media:title>
		</media:content>
	</item>
		<item>
		<title>Hello world!</title>
		<link>http://wrach.wordpress.com/2006/08/21/hello-world/</link>
		<comments>http://wrach.wordpress.com/2006/08/21/hello-world/#comments</comments>
		<pubDate>Mon, 21 Aug 2006 15:43:55 +0000</pubDate>
		<dc:creator>wrach</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=1&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Welcome to <a href="http://wordpress.com/">WordPress.com</a>. This is your first post. Edit or delete it and start blogging!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/wrach.wordpress.com/1/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/wrach.wordpress.com/1/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/wrach.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/wrach.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/wrach.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/wrach.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/wrach.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/wrach.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/wrach.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/wrach.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/wrach.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/wrach.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/wrach.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/wrach.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/wrach.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/wrach.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=wrach.wordpress.com&amp;blog=368977&amp;post=1&amp;subd=wrach&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://wrach.wordpress.com/2006/08/21/hello-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/65da9e5a7ac7a693beb1a368dcf82f92?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">wrach</media:title>
		</media:content>
	</item>
	</channel>
</rss>
