<?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; Ashikunep</title>
	<atom:link href="http://jfut.integ.jp/category/ashikunep/feed/" rel="self" type="application/rss+xml" />
	<link>http://jfut.integ.jp</link>
	<description></description>
	<lastBuildDate>Sat, 27 Aug 2011 15:18:25 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>1Page 1Modelを1Event 複数Modelへ</title>
		<link>http://jfut.integ.jp/2007/01/09/1page-1model%E3%82%921event-%E8%A4%87%E6%95%B0model%E3%81%B8/</link>
		<comments>http://jfut.integ.jp/2007/01/09/1page-1model%E3%82%921event-%E8%A4%87%E6%95%B0model%E3%81%B8/#comments</comments>
		<pubDate>Tue, 09 Jan 2007 03:00:02 +0000</pubDate>
		<dc:creator>jfut</dc:creator>
				<category><![CDATA[Ashikunep]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://jfuttest1.integ.jp/2007/01/1page-1model%E3%82%921event-%E8%A4%87%E6%95%B0model%E3%81%B8/</guid>
		<description><![CDATA[

関連する記事:<ol>
<li><a href='http://jfut.integ.jp/2007/01/09/1action-1actionform%E3%82%921event-1actionform%E3%81%B8/' rel='bookmark' title='1Action 1ActionFormを1Event 1ActionFormへ'>1Action 1ActionFormを1Event 1ActionFormへ</a> <small> ...</small></li>
<li><a href='http://jfut.integ.jp/2009/03/13/%E4%BB%AE%E5%9E%8B%E5%BC%95%E6%95%B0%E3%82%92%E6%8C%81%E3%81%A4%E9%96%A2%E6%95%B0%E3%82%92%E5%9E%8B%E5%BC%95%E6%95%B0%E3%82%92%E6%8C%81%E3%81%A4%E9%96%A2%E6%95%B0%E3%81%A7override%E3%81%97%E3%81%9F/' rel='bookmark' title='仮型引数を持つ関数を型引数を持つ関数でOverrideしたクラスからその関数をリフレクションで取得するとそれぞれ別の関数として見つかる'>仮型引数を持つ関数を型引数を持つ関数でOverrideしたクラスからその関数をリフレクションで取得するとそれぞれ別の関数として見つかる</a> <small> ...</small></li>
<li><a href='http://jfut.integ.jp/2008/01/20/cubby-is-good/' rel='bookmark' title='Cubbyの良いところ'>Cubbyの良いところ</a> <small>先日Cubbyで作った2個目の簡単なアプリを予定通り動かし始めました。今のとこ大きなトラブルもないようです。というわけで、Cubbyの良いところを書きたいと思います。ちなみにほとんど同じことがSAStrutsにも言えます [...]...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[				<div id="fswiki_content1" class="fswiki_content">
				<p>なんかこういうのが欲しい気がしてきた＠Ikushipeの例。</p>
				<pre>public class UserPage {
    public Class&lt;IndexPage&gt; logout(@EventModel UserModel userModel) {
        ...
        return IndexPage.class;
    }
    public Class&lt;UserPage&gt; submit(@EventModel SubmitModel submitModel, @EventModel UserModel userModel) {
        ...
        return UserPage.class;
    }
}
</pre>
				<p>@EventModelがformのパラメータに対応するもの。submitModelとuserModelで同じsetter/getterがあったら両方にパラメータ設定しちゃう。1Page 1Modelにするならこうかな。</p>
				<pre>@WebPage(model = { LoginModel.class , UserModel.class })
public class UserPage {
    public Class&lt;IndexPage&gt; logout(UserModel userModel) {
        ...
        return IndexPage.class;
    }
    public Class&lt;UserPage&gt; submit(SubmitModel submitModel, UserModel userModel) {
        ...
        return UserPage.class;
    }
}
</pre>
				<p>思いつきだからいろいろダメな気 or 他にもっと良いやり方がある気がしないでもない。もっと良く考えよう。</p>
				</div>
<p>関連する記事:<ol>
<li><a href='http://jfut.integ.jp/2007/01/09/1action-1actionform%E3%82%921event-1actionform%E3%81%B8/' rel='bookmark' title='1Action 1ActionFormを1Event 1ActionFormへ'>1Action 1ActionFormを1Event 1ActionFormへ</a> <small> ...</small></li>
<li><a href='http://jfut.integ.jp/2009/03/13/%E4%BB%AE%E5%9E%8B%E5%BC%95%E6%95%B0%E3%82%92%E6%8C%81%E3%81%A4%E9%96%A2%E6%95%B0%E3%82%92%E5%9E%8B%E5%BC%95%E6%95%B0%E3%82%92%E6%8C%81%E3%81%A4%E9%96%A2%E6%95%B0%E3%81%A7override%E3%81%97%E3%81%9F/' rel='bookmark' title='仮型引数を持つ関数を型引数を持つ関数でOverrideしたクラスからその関数をリフレクションで取得するとそれぞれ別の関数として見つかる'>仮型引数を持つ関数を型引数を持つ関数でOverrideしたクラスからその関数をリフレクションで取得するとそれぞれ別の関数として見つかる</a> <small> ...</small></li>
<li><a href='http://jfut.integ.jp/2008/01/20/cubby-is-good/' rel='bookmark' title='Cubbyの良いところ'>Cubbyの良いところ</a> <small>先日Cubbyで作った2個目の簡単なアプリを予定通り動かし始めました。今のとこ大きなトラブルもないようです。というわけで、Cubbyの良いところを書きたいと思います。ちなみにほとんど同じことがSAStrutsにも言えます [...]...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://jfut.integ.jp/2007/01/09/1page-1model%E3%82%921event-%E8%A4%87%E6%95%B0model%E3%81%B8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1Action 1ActionFormを1Event 1ActionFormへ</title>
		<link>http://jfut.integ.jp/2007/01/09/1action-1actionform%E3%82%921event-1actionform%E3%81%B8/</link>
		<comments>http://jfut.integ.jp/2007/01/09/1action-1actionform%E3%82%921event-1actionform%E3%81%B8/#comments</comments>
		<pubDate>Tue, 09 Jan 2007 03:00:01 +0000</pubDate>
		<dc:creator>jfut</dc:creator>
				<category><![CDATA[Ashikunep]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Seasar]]></category>

		<guid isPermaLink="false">http://jfuttest1.integ.jp/2007/01/1action-1actionform%E3%82%921event-1actionform%E3%81%B8/</guid>
		<description><![CDATA[

関連する記事:<ol>
<li><a href='http://jfut.integ.jp/2007/01/09/1page-1model%E3%82%921event-%E8%A4%87%E6%95%B0model%E3%81%B8/' rel='bookmark' title='1Page 1Modelを1Event 複数Modelへ'>1Page 1Modelを1Event 複数Modelへ</a> <small> ...</small></li>
<li><a href='http://jfut.integ.jp/2009/04/16/cubby-regex-trim-required-validator/' rel='bookmark' title='入力された文字の前後の空白スペースなどの文字列を除去しても有効な文字があるか検証するValidatorと実際に取り除く処理'>入力された文字の前後の空白スペースなどの文字列を除去しても有効な文字があるか検証するValidatorと実際に取り除く処理</a> <small>入力フォームでユーザに文字を入力させると、前後に空白スペースなどを入れちゃったりしますよね。Validatorで前後に空白スペースがあればエラーにしても良いですが、それはちょっと不親切なので自動的に取り除いてあげるのが親 [...]...</small></li>
<li><a href='http://jfut.integ.jp/2010/01/11/cubby-actionclass-with-static-field/' rel='bookmark' title='Cubbyのアクションクラスで定数を利用してリファクタリングしやすくする'>Cubbyのアクションクラスで定数を利用してリファクタリングしやすくする</a> <small>Cubbyのアクションクラスにはバリデーションルールの定義時やアノテーションに文字列が登場します。文字列で指定しているのでリファクタリングする時に修正漏れなどがおきそうでちょっと怖いです。そこで、それらの文字列を定数にし [...]...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[				<div id="fswiki_content6" class="fswiki_content">
				<p>以下途中で脈略なくなり、結論としていらないっぽい。</p>
				<p>最近FormでSubmitする時にSubmitする前と後で同じもの、StrutsでいうところのActionFormやS2StrutsのPOJO(Dto)、IkushipeでいうところのModelを使うのが使いにくい気がしてきた。StrutsでいうとこのAction単位、Ikushipeでいうところのページ単位でActionFormやModelを持つんじゃなくて、その中のイベントごとにSubmitする前と後を定義できると嬉しいかもしれない(Strutsの場合はS2Struts限定)。特に1画面でいろんなSubmitを使うAjaxなんかで。</p>
				<ul>
				<li>S2Strutsの例</ll>
				</ul>
				<pre>@StrutsAction(name = &quot;posixAccountDto&quot;, parameter = &quot;method&quot;, validate = false)
public interface LoginAction {
    @StrutsActionForward(path = &quot;/user/index.html&quot;)
    public static final String USER = &quot;USER&quot;;
    @StrutsActionForward(path = &quot;/user/login.html&quot;)
    public static final String ERROR = &quot;ERROR&quot;;
    public String login();
}
</pre>
				<p>を出来るかどうかは別として、</p>
				<pre>public interface LoginAction {
    @StrutsActionForward(path = &quot;/user/index.html&quot;)
    public static final String USER = &quot;USER&quot;;
    @StrutsActionForward(path = &quot;/user/login.html&quot;)
    public static final String ERROR = &quot;ERROR&quot;;
    @StrutsAction(submitDto = &quot;posixAccountDto&quot;, returnDto = &quot;userDto&quot;, parameter = &quot;method&quot;, validate = false)
    public String login();
}
</pre>
				<p>とか。でもS2Sturtsの場合、Actionにgetter用意しとけばそうなるからいらないか・・・。</p>
				<ul>
				<li>Ikushipeの例</ll>
				</ul>
				<pre>@WebPage(model = LoginModel.class)
public class LoginPage {
    public Class&lt;UserPage&gt; login(LoginModel loginModel) {
        ...
        return UserPage.class;
    }
}
</pre>
				<p>を出来るかどうかは別として、</p>
				<pre>public class LoginPage {
    public Class&lt;UserPage&gt; login(@EventPageModel LoginModel loginModel, @ResultPageModel UserModel userModel) {
        ...
        return UserPage.class;
    }
}
</pre>
				<p>@EventPageModelにリクエストパラメータを入って、ページ偏移後のattrに@ResultPageModelの中身が展開される感じ。@EventPageModelもattrに残す。こうなるとそのページで起こりうる複数のイベントを記述できる。ついでに偏移後に使うページに複数のフォームがあるかもしれないのでモデルも複数であっても構わない。</p>
				<p>でもこれもS2Strutsみたいにgetterでattrに出せるようにすればいらないか。とりあえずの手段だとattrにセットするsetAttributeってのを作るとか。</p>
				<pre>@WebPage(model = LoginModel.class)
public class LoginPage {
    public Class&lt;UserPage&gt; login(LoginModel loginModel, UserModel userModel) {
        ...
        setAttribute(&quot;userModel&quot;, userModel);
        return UserPage.class;
    }
}
</pre>
				</div>
<p>関連する記事:<ol>
<li><a href='http://jfut.integ.jp/2007/01/09/1page-1model%E3%82%921event-%E8%A4%87%E6%95%B0model%E3%81%B8/' rel='bookmark' title='1Page 1Modelを1Event 複数Modelへ'>1Page 1Modelを1Event 複数Modelへ</a> <small> ...</small></li>
<li><a href='http://jfut.integ.jp/2009/04/16/cubby-regex-trim-required-validator/' rel='bookmark' title='入力された文字の前後の空白スペースなどの文字列を除去しても有効な文字があるか検証するValidatorと実際に取り除く処理'>入力された文字の前後の空白スペースなどの文字列を除去しても有効な文字があるか検証するValidatorと実際に取り除く処理</a> <small>入力フォームでユーザに文字を入力させると、前後に空白スペースなどを入れちゃったりしますよね。Validatorで前後に空白スペースがあればエラーにしても良いですが、それはちょっと不親切なので自動的に取り除いてあげるのが親 [...]...</small></li>
<li><a href='http://jfut.integ.jp/2010/01/11/cubby-actionclass-with-static-field/' rel='bookmark' title='Cubbyのアクションクラスで定数を利用してリファクタリングしやすくする'>Cubbyのアクションクラスで定数を利用してリファクタリングしやすくする</a> <small>Cubbyのアクションクラスにはバリデーションルールの定義時やアノテーションに文字列が登場します。文字列で指定しているのでリファクタリングする時に修正漏れなどがおきそうでちょっと怖いです。そこで、それらの文字列を定数にし [...]...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://jfut.integ.jp/2007/01/09/1action-1actionform%E3%82%921event-1actionform%E3%81%B8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IkushipeとHOT deploy敗北</title>
		<link>http://jfut.integ.jp/2006/08/27/ikushipe%E3%81%A8hot-deploy%E6%95%97%E5%8C%97/</link>
		<comments>http://jfut.integ.jp/2006/08/27/ikushipe%E3%81%A8hot-deploy%E6%95%97%E5%8C%97/#comments</comments>
		<pubDate>Sun, 27 Aug 2006 03:00:01 +0000</pubDate>
		<dc:creator>jfut</dc:creator>
				<category><![CDATA[Ashikunep]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://jfuttest1.integ.jp/2006/08/ikushipe%E3%81%A8hot-deploy%E6%95%97%E5%8C%97/</guid>
		<description><![CDATA[

関連する記事:<ol>
<li><a href='http://jfut.integ.jp/2006/08/21/s2strutsqualified-0-7-beta-2/' rel='bookmark' title='S2StrutsQualified 0.7 beta 2'>S2StrutsQualified 0.7 beta 2</a> <small> ...</small></li>
<li><a href='http://jfut.integ.jp/2006/08/22/hot-deploy-josql%E3%81%8C%E4%B8%8A%E6%89%8B%E3%81%8F%E3%81%84%E3%81%8B%E3%81%AA%E3%81%84%E3%81%8C%E8%A7%A3%E6%B1%BA%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F/' rel='bookmark' title='HOT deploy + JoSQLが上手くいかないが解決しました'>HOT deploy + JoSQLが上手くいかないが解決しました</a> <small> ...</small></li>
<li><a href='http://jfut.integ.jp/2006/08/29/s2container-r1227/' rel='bookmark' title='s2container r:1227'>s2container r:1227</a> <small> ...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[				<div id="fswiki_content10" class="fswiki_content">
				<p>土日でちょろちょろいじってみましたが、上手くいきませんでした。COOL deploy時はOK。でも、さっき新しく一からやり直したらtaskアプリが動かなくなっちゃった・・・(;´Д`)。</p>
				</div>
<p>関連する記事:<ol>
<li><a href='http://jfut.integ.jp/2006/08/21/s2strutsqualified-0-7-beta-2/' rel='bookmark' title='S2StrutsQualified 0.7 beta 2'>S2StrutsQualified 0.7 beta 2</a> <small> ...</small></li>
<li><a href='http://jfut.integ.jp/2006/08/22/hot-deploy-josql%E3%81%8C%E4%B8%8A%E6%89%8B%E3%81%8F%E3%81%84%E3%81%8B%E3%81%AA%E3%81%84%E3%81%8C%E8%A7%A3%E6%B1%BA%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F/' rel='bookmark' title='HOT deploy + JoSQLが上手くいかないが解決しました'>HOT deploy + JoSQLが上手くいかないが解決しました</a> <small> ...</small></li>
<li><a href='http://jfut.integ.jp/2006/08/29/s2container-r1227/' rel='bookmark' title='s2container r:1227'>s2container r:1227</a> <small> ...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://jfut.integ.jp/2006/08/27/ikushipe%E3%81%A8hot-deploy%E6%95%97%E5%8C%97/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ikushipe 0.4.0リリース</title>
		<link>http://jfut.integ.jp/2006/08/24/ikushipe-0-4-0%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9/</link>
		<comments>http://jfut.integ.jp/2006/08/24/ikushipe-0-4-0%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9/#comments</comments>
		<pubDate>Thu, 24 Aug 2006 03:00:04 +0000</pubDate>
		<dc:creator>jfut</dc:creator>
				<category><![CDATA[Ashikunep]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://jfuttest1.integ.jp/2006/08/ikushipe-0-4-0%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[				<div id="fswiki_content11" class="fswiki_content">
				<p><a href="http://d.hatena.ne.jp/masataka_k/20060824/1156414579">リリースされましたー</a>。今週末にいろいろ試してみようヽ(´ー｀)ノ。</p>
				</div>
]]></content:encoded>
			<wfw:commentRss>http://jfut.integ.jp/2006/08/24/ikushipe-0-4-0%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%B9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ikushipeわくわく</title>
		<link>http://jfut.integ.jp/2006/08/22/ikushipe%E3%82%8F%E3%81%8F%E3%82%8F%E3%81%8F/</link>
		<comments>http://jfut.integ.jp/2006/08/22/ikushipe%E3%82%8F%E3%81%8F%E3%82%8F%E3%81%8F/#comments</comments>
		<pubDate>Tue, 22 Aug 2006 03:00:06 +0000</pubDate>
		<dc:creator>jfut</dc:creator>
				<category><![CDATA[Ashikunep]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://jfuttest1.integ.jp/2006/08/ikushipe%E3%82%8F%E3%81%8F%E3%82%8F%E3%81%8F/</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[				<div id="fswiki_content12" class="fswiki_content">
				<p>Seasar2対応のコードが入ったようです。S2Strutsに慣れ親しんでるところで何ですが、リリースされたら移行でしょうか(;´ー`)。コミットログにいろいろ書かれてるのでわくわくしながら見てたりしますｗ。</p>
				</div>
]]></content:encoded>
			<wfw:commentRss>http://jfut.integ.jp/2006/08/22/ikushipe%E3%82%8F%E3%81%8F%E3%82%8F%E3%81%8F/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

