Struts/リンクの作り方
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
#topicpath
----
#contents
Strutsでリンクの作成方法はいろいろなやり方があります。
**<html:form>タグで [#x8e22dd2]
***formのactionで [#q45fce56]
<html:form action="/execute">
<html:select property="hoge">
<html:options name="menu.pulldown"/>
</html:select><html:errors property="hoge"/>
<br/>
<bean:define id="title" name="executeForm"
property="hoge" type="java.lang.Stri...
<%-- 変数名がexecuteFormのhogeというpropertyを
titleという変数名で参照。(型はString) --%>
<html:submit/><html:cancel/>
</html:form>
とするとformが作成できる
**<html:link>タグで [#tc4af6a7]
***html:linkのaction [#ibe7ae86]
<html:link action="/execute">実行</html:link>
***html:linkのlinkNameでアンカー [#rbba7b40]
<html:link linkName="Anchor" />
***html:linkのpage [#m9abdf62]
<html:link page="hoge" >aaaa</html:link>
とすると
<a href="[contextpath]hoge">aaaa</a>
となる。つまりそのまま(doの補完や、/とかの補完すらしない)。
*** <html:rewrite />だと [#l9eda326]
<html:rewrite page="hoge" />
とするとhtml上に
[contextpath]hoge
が出力されます。
***global-forwardsを定義して、html:linkのforwardで [#ec52...
struts-config.xmlで
<!-- ========== Global Forward Definitions =============...
<global-forwards type="org.apache.struts.action.ActionFo...
<forward name="hoge" path="/execute.do" />
</global-forwards>
と定義し、
<html:link forward="hoge" >aaaa</html:link> と記述すると
<a href="[contextpath]/execute.do">aaaa</a>
となる。((もちろん*.doじゃなくてjspとかでもいい))
*** <html:rewrite />だと [#z8d78873]
ちなみにこのグローバルフォワードという機能は
<html:rewrite forward="hoge" />
と記述して、htmlに
[contextpath]/execute.do
と出力することもできます。リンクでなくてスタイルシートフ...
***html:linkのhref [#ue292577]
そのまま
<html:link href="hoge" >aaaa</html:link>
が
<a href="hoge">aaaa</a>
となる。
**<html:link>タグでの、パラメータ指定方法 [#b7c0e9e7]
***コレクションから渡す場合。 [#p45f4a77]
<%
Map map=new HashMap();
map.put("data1","value1");
map.put("data2","value2");
map.put("data3","value3");
map.put("data4","value4");
request.setAttribute("map",map);
%>
<html:link page="/execute.do" name="map">aaaa</html:link>
みたく、mapを指定すると、パラメータとなる。(nameでBeanを...
***スコープ内のインスタンスの情報を次の画面に渡すリンク。...
RequestやSession,PageContext,Applicationなどあるスコープ...
<html:link paramName="instance"
paramId="fieldParam"
paramProperty="field"
page="/execute.do?action=edit">編集</html:link>
とすると
/execute.do?action=edit&fieldParam=[instanceインスタンス...
となります。
***スコープ内のインスタンスの情報を次の画面に渡すリンク2...
まずBeanのプロパティに変数名を付けて
<bean:define id="userid" name="record" property="userId"...
リンクタグに渡す
<html:link action="/hoge" paramId="userid" paramName="us...
(うえは/hoge.do?[userid<-paramIdの文字列]=beanのプロパテ...
<bean:write name="record" property="userId" />
</html:link>
これでOK!これより上のやり方の方がスマートですね。
----
この記事は
#vote(おもしろかった[194],そうでもない[63])
#topicpath
SIZE(10){現在のアクセス:&counter;}
終了行:
#topicpath
----
#contents
Strutsでリンクの作成方法はいろいろなやり方があります。
**<html:form>タグで [#x8e22dd2]
***formのactionで [#q45fce56]
<html:form action="/execute">
<html:select property="hoge">
<html:options name="menu.pulldown"/>
</html:select><html:errors property="hoge"/>
<br/>
<bean:define id="title" name="executeForm"
property="hoge" type="java.lang.Stri...
<%-- 変数名がexecuteFormのhogeというpropertyを
titleという変数名で参照。(型はString) --%>
<html:submit/><html:cancel/>
</html:form>
とするとformが作成できる
**<html:link>タグで [#tc4af6a7]
***html:linkのaction [#ibe7ae86]
<html:link action="/execute">実行</html:link>
***html:linkのlinkNameでアンカー [#rbba7b40]
<html:link linkName="Anchor" />
***html:linkのpage [#m9abdf62]
<html:link page="hoge" >aaaa</html:link>
とすると
<a href="[contextpath]hoge">aaaa</a>
となる。つまりそのまま(doの補完や、/とかの補完すらしない)。
*** <html:rewrite />だと [#l9eda326]
<html:rewrite page="hoge" />
とするとhtml上に
[contextpath]hoge
が出力されます。
***global-forwardsを定義して、html:linkのforwardで [#ec52...
struts-config.xmlで
<!-- ========== Global Forward Definitions =============...
<global-forwards type="org.apache.struts.action.ActionFo...
<forward name="hoge" path="/execute.do" />
</global-forwards>
と定義し、
<html:link forward="hoge" >aaaa</html:link> と記述すると
<a href="[contextpath]/execute.do">aaaa</a>
となる。((もちろん*.doじゃなくてjspとかでもいい))
*** <html:rewrite />だと [#z8d78873]
ちなみにこのグローバルフォワードという機能は
<html:rewrite forward="hoge" />
と記述して、htmlに
[contextpath]/execute.do
と出力することもできます。リンクでなくてスタイルシートフ...
***html:linkのhref [#ue292577]
そのまま
<html:link href="hoge" >aaaa</html:link>
が
<a href="hoge">aaaa</a>
となる。
**<html:link>タグでの、パラメータ指定方法 [#b7c0e9e7]
***コレクションから渡す場合。 [#p45f4a77]
<%
Map map=new HashMap();
map.put("data1","value1");
map.put("data2","value2");
map.put("data3","value3");
map.put("data4","value4");
request.setAttribute("map",map);
%>
<html:link page="/execute.do" name="map">aaaa</html:link>
みたく、mapを指定すると、パラメータとなる。(nameでBeanを...
***スコープ内のインスタンスの情報を次の画面に渡すリンク。...
RequestやSession,PageContext,Applicationなどあるスコープ...
<html:link paramName="instance"
paramId="fieldParam"
paramProperty="field"
page="/execute.do?action=edit">編集</html:link>
とすると
/execute.do?action=edit&fieldParam=[instanceインスタンス...
となります。
***スコープ内のインスタンスの情報を次の画面に渡すリンク2...
まずBeanのプロパティに変数名を付けて
<bean:define id="userid" name="record" property="userId"...
リンクタグに渡す
<html:link action="/hoge" paramId="userid" paramName="us...
(うえは/hoge.do?[userid<-paramIdの文字列]=beanのプロパテ...
<bean:write name="record" property="userId" />
</html:link>
これでOK!これより上のやり方の方がスマートですね。
----
この記事は
#vote(おもしろかった[194],そうでもない[63])
#topicpath
SIZE(10){現在のアクセス:&counter;}
ページ名: