[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/18 15:43 / Filesize : 258 KB / Number-of Response : 938
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

△△もっとStrutsの良さを教えてくださいSession5



1 名前:デフォルトの名無しさん [2006/12/30(土) 18:05:08 ]
Apache Strutsフレームワークについて語るスレ

前スレ
△△まだまだStrutsの良さを教えてくださいSession4
pc8.2ch.net/test/read.cgi/tech/1109465052/

620 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 00:10:29 ]
でもってインターセプターの定義は呼び出される順序とか大事だから、
struts.xmlにはインターセプターの定義がずらずらと並んで
Zero-configからはどんどん離れていくと。

ヤレヤレだぜ

621 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 00:22:18 ]
>>619
>ビジター画面増えたら困るし。まあそこは設定ファイルに外だしするとしてもだ。
具体的にどうやって実現するのがベターかね?

>>620
extendすれば多少は抑えられるかと。
完全なゼロコンフィグはむりぽいけど。

622 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 01:47:24 ]
>>621
俺はweb.xmlにごちゃごちゃ書くのが嫌いなので
別途設定ファイルを用意して
<root>
 <action>
  <visitor>login.action</visitor>
  <visitor>login!input.action</visitor>
 </action>
</root>
こうなってるのを読み込む方がソースに直書きよりははるかにいいと思う。
xml読み込むライブラリとかは普段使ってる奴があるでしょ。
web.xmlに書くなら長くなっちゃうから、カンマ区切りで並べて書いちゃうかも。
で拾ってきてsplit(",")する。

packageそのものはextendできるけど、インターセプターの一部だけ拡張って
どうやるの?インターセプターは順序が大事だから、パッケージで一個でも
独自にするなら定義全部書かないといけないと思ってた。

623 名前:デフォルトの名無しさん [2008/02/19(火) 07:06:01 ]
struts.xml書かないでアノテーション使う奴理解できねえ
画面遷移定義が偏在化して管理が大変そう

624 名前:デフォルトの名無しさん [2008/02/19(火) 08:19:26 ]
>>623 俺もそう思う、画面遷移を定義ファイルに集中化して見通しをよくしたはずじゃなかったのかよ?
又ソースに埋め込んでどうするつもりだ?

ゼロコンフィグ 魅力なし

625 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 09:29:45 ]
で、次は一つのファイルが肥大化するとか、
プロジェクトメンバー全員で一つのファイルをメンテウザスとか
Struts1.xの頃の不満を繰り返す・・・

おまいら学習能力まるで無しだなw

626 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 09:49:10 ]
画面遷移の定義ってあまりころころ変わるものじゃないから
集中管理してもメリット少ないよね。

627 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 10:03:10 ]
>>622
<interceptors>
<!-- LoginInterceptorを定義 -->
<interceptor name="login"
class="example.interceptor.LoginInterceptor" />
<!-- LoginInterceptorとStruts標準のdefaultStackを足し合わせた新しい「defaultLoginStack」を定義 -->
<interceptor-stack name="defaultLoginStack">
<interceptor-ref name="login" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>

628 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 11:54:45 ]
>>625
それなら分割すれば済む話だろ。いったいいつの話をしているんだ?



629 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 12:15:29 ]
>>628
そういう意味じゃなくてXMLに集中させるメリット少ないなって意味。
一度XMLに書いてそれっきり変えないようなものはソースに書いてもいいんじゃねーのと。
開発中や運用中に頻繁に変えるならXMLでもいいと思うけど。
画面遷移ってそんなに頻繁に変更するか?

630 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:08:40 ]
変更の度合いよりも、
どうせプログラムも変更しなきゃ動かなくなるんだから
XMLあるだけジャマじゃね
ってことじゃないのか。

631 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:04:12 ]
>>629
何を言ってるんだ??
この画面のシステムをメンテしているときに、別の画面に切り替えておくとか、
運用の切り替えはファイルの方が圧倒的に有利だろ
運用状態を切り替えるのに、いちいちコンパイルするのかよ

632 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:17:36 ]
strutsってホットデプロイできるの?

633 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:43:49 ]
レス読んで日本語が難しいって事がわかったw
まぁうちは今のレベルの人員(運用も含め)じゃ集中管理の方がメリット高いな

634 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:45:21 ]
>>627
interceptor-refにはインターセプター単体でもスタックでも指定できるのね。
なるほど。デフォルトのparamとvalidatorの間に入れたい、みたいな場合も
全部書かないでいけるの?

635 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:56:28 ]
>>629
一度きりで変更しないならxmlでもアノテーションでもどっちでもいいと思うけど。
むしろ変更があるからこそ、作業対象が分散しないようにアノテーションがいい。

>>631
運用状態を切り替えるのにstruts.xml修正して再起動するの?
tomcat自体は立ち上げておく必要があるのなら
管理画面から動的に切り替えられるようにしとかないと怖くない?
webサーバーの台数増えたらめんどいし。

636 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:26:26 ]
再起動する必要ないよ
tomcatは知らないけど、WebLogicはアプリケーションごとにデプロイできる
まぁこれとは別にHTTPサーバがあったりすると、切り替え中はそっちで抑止かけるなりすればいいし

637 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:33:11 ]
>>636
tomcatもホットデプロイはできるけど
static領域とか初期化し直しになるじゃん。
初期化するからstruts.xmlも再読込されるんだけど。
classに変更があるとセッションも保持されないし。
アプリの再起動って意味で書いたんだけど。

ユーザーからのアクセスがほとんど無い時間帯がある
システムならそれでもいいけど


638 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:52:08 ]
WARでデプロイしてるなら
コンパイルし直すのもWAR作り直すのも手間は変わらないんじゃないか?



639 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 02:21:44 ]
>>636
新人君よ。アプリケーションサーバを複数台用意して1台づつ止めてデプロイしなおすということもあるんだよ。


tomcatもweblogicもホットデプロイというより、自動デプロイという表現の方がええと思うぞ

640 名前:デフォルトの名無しさん [2008/02/20(水) 03:47:38 ]
ダイナミックなモジュールのロード・アンロードでSpring OSGi に期待してるんだけど、SpringDMってそういうもんだよね?

641 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 20:46:18 ]
>>639
複数台あっても、抑止かけるんだから結局同じことなんじゃ?

642 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 00:01:10 ]
>641
かけません。
最低1台稼動させたまま入れ替えます。

643 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 00:39:15 ]
>>642
うん、それそれ
例えば10台あって、2台ごとにグルーピングされているとして、
Aグループを停止している間、グループB・C・D・Eが起動していて、Aグループへのアクセスは抑止しておく
うちは、これをアプリケーション(業務処理)単位でやってるリリースパターンがあるんだけど、
はて、実際どうやってんだろ
この2台の組がなんちゃってデュアル構成なんだけど、これをうまくどうにかして、どうにかしちゃってるんだろうか

644 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 00:46:24 ]
定義ファイルだろうがアノテーションだろうが関係無い話だな。

645 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 01:06:58 ]
アノテーションだとコンパイルしなきゃいけないじゃない
リリース中はこの画面に遷移するように、って一時的な変更をコンパイルでやってたら、永遠に終わらなくない?
Aグループに属するαサーバとβサーバを、それぞれ交代でアップデートするときに、
βへのアクセスを抑止させて、定義ファイルを更新して、
次にαを抑止させて、βを解放して、その間αをアップデートさせて、αを通常運転に戻して、βをアップデートして、
βも通常運転に戻す・・・だったかな?よく覚えてないけど、そんな感じ

ってのを、コンパイルでやろうとすると
βへのアクセスを抑止させて、コンパイルして、デプロイして、・・・あ、出来なくもないね

ただ、ソースをいちいちいじらないといけないから、混乱しそうだわな
リリース用に、遷移ロジックのあるソースをいじる、うーん、ないな
やっぱリリース運用はファイル中心だなぁ

646 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 01:35:54 ]
warでデプロイするならeclipse上で設定ファイル書き換えてwar固めてデプロイでも
アノテーション書き換えてwar固めてデプロイでも変わらない。
あと通常モードと停止モードの二つのモジュールを事前に用意しておくのが
当然だと思う。別にβへのアクセスを止めてからコンパイルする必要なんてない。

つーかコンテナの話はもういいからstrutsの話しようぜ


647 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 16:41:15 ]
こういうコンテナの話ってどこですればいいんだろう?
昔は
「JAVA+JSP+Strugs+Tomcat」スレなんてものがあったが、
JavaServlet全般とか Servletコンテナ全般のスレがほしい。


648 名前:デフォルトの名無しさん mailto:sage [2008/02/22(金) 01:02:49 ]
>>647
スレタイを変えた後継スレがあります。
コンテナの話はこのスレならスレ違いにならないと思います。

Java+Webフレームワーク
pc11.2ch.net/test/read.cgi/tech/1181063688/



649 名前:647 mailto:sage [2008/02/22(金) 03:43:27 ]
>>648
どうもありがとう、巡回先に入れました。
でもあまりにぎわってないな・・・・・
話題提供するようにします

650 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 17:52:38 ]
ActionFormにArrayListがありその中にArrayListがあるような
構造のデータを受け取るようにするにはどうしたらいいでしょうか?

651 名前:デフォルトの名無しさん [2008/03/02(日) 18:34:24 ]
ArrayListをListDataModelにsetRowIndexすればdataTableタグで受け取れる

652 名前:☆Visual C++ Runtime Libraryってエラーが出てネットゲーム強制終了 [2008/03/02(日) 20:03:10 ]
ネットゲームを2時間くらいやるとやってる途中にimepita.jp/20080301/780070のようなエラーがでて、
強制終了されます。どうしたらよいのでしょう。
厨房なので、ぐぐっても全くわかりません。
どなたかご存知の方教えてください

653 名前:デフォルトの名無しさん mailto:sage [2008/03/02(日) 20:46:19 ]
スレ違い

654 名前:デフォルトの名無しさん mailto:sage [2008/03/06(木) 01:59:32 ]
教えてほしいのですが、
WebLogic Workshopを使わずに、EclipseでWeblogicとStrutsの連携をどうすれば良いですか?
Weblogicは9.2です。


655 名前:デフォルトの名無しさん [2008/03/08(土) 19:57:23 ]
WebLogic® Server Toolsを使え
https://dev2devclub.bea.com/updates/wls-tools/

656 名前:デフォルトの名無しさん [2008/03/11(火) 03:40:54 ]
質問なのですがstruts-config.xmlのactionのforwardエレメントに
プレースホルダーとかって使えないんですかね?
<forward name="success" path="/${0}/test.html"/>
こんな事がしたいんですが知っていたらご教授お願いします。

環境はstruts1.3です

657 名前:デフォルトの名無しさん mailto:sage [2008/03/11(火) 19:48:37 ]
知らないけど、ForwardingActionForward使っておけば?

658 名前:デフォルトの名無しさん [2008/03/20(木) 20:39:15 ]
最近Strutsを触り始めたんですが、ちょっとつまづいたので教えてください

画面Aと画面Bがあって各々ActionFormが違う場合
AからBに遷移するActionのなかで
ActionFormBをnewしてActionFormAの値をコピーしています。

ソースだとこんな感じ。
ActionFormA a = (ActionFormA) form;
ActionFormB b = new ActionFormB();

aからbにコピー

form = b;

こうやっても画面BでActionFormBの値がとれないのどすが、何が間違ってるのでしょうか?
そもそも遷移前と遷移後でフォームが違う場合どうするのがよいのでしょうか?





659 名前:デフォルトの名無しさん [2008/03/23(日) 02:29:49 ]
同じクラスのフォームビーン使うようにすればいいんじゃない?

660 名前:デフォルトの名無しさん mailto:sage [2008/03/23(日) 11:48:40 ]
bがrequestにもsessionにもいないんでしょ。

661 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 13:14:43 ]
JavaAppletとStruts2のアクション間で非同期通信したいんだけど、
フレームワーク内部でInputStreamが読まれており、アクションで取得できません。
なんかいい方法ない?

662 名前:デフォルトの名無しさん [2008/03/24(月) 20:52:21 ]
これまた理解力を発揮しがいのある質問文ですねage

663 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:58:48 ]
文字列化してリクエストパラメータの一つに
してしまえば良いんじゃね?

664 名前:デフォルトの名無しさん [2008/03/25(火) 04:41:48 ]
Appletはyesterdayの技術だけど、セキュリティ絡みでAppletに逃げる奴多いな

665 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 09:24:48 ]
FlexとかSilverlightには逃げないのですか?

666 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 12:04:28 ]
既存スキルを生かせるのは強いよな。
あとシリアライズしてオブジェクトの受け渡しができるってのも強みか。

667 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 05:12:06 ]
Java Web Startでええやん

668 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 01:16:15 ]
>>666
日本語でおk



669 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 06:30:34 ]
シュワシュワワワシュワワシュワ?

670 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:31:00 ]
Struts2で、struts.xmlの一部をこんな感じ可変にできますか?
<result name="success">/○○.jsp(login.jsp等)</result>
可能であれば、どうやって値をセットすれば良いかご教授ください。

671 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 22:31:19 ]
<result name="success">${ '/' + page + '.jsp' }</result>

getPageって言うメソッドをアクションに作ってそこで適当な "login" とか返してあげればOKだよ

まあ、login とかを処理したいのならアプローチが間違ってるけどね

672 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 23:28:16 ]
>>671
ありがとうございます!
確かにloginは処理しないです;
本当に助かりました。明日早速試してみます。

673 名前:671 mailto:sage [2008/04/14(月) 23:37:09 ]
いえいえ。

差し支えない範囲でどんな使い方をするのか教えて!

674 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 23:50:48 ]
>>671,673
うーん、きっとまたアプローチが違うって突っ込まれそうですが・・・
帳票をPDF形式で出力させます。
PDF名が固定だと、複数ユーザが同時に出力しようとした場合に
不具合が起きるんじゃないかな?と考えて、PDF名+時間とかをくっつけて
出力しようとしていました。

675 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 23:56:07 ]
そんなことできるの?

676 名前:671 mailto:sage [2008/04/15(火) 00:02:23 ]
むむむ。resultのDispatch先の名前はURLに出てこないから関係ないのでは?
たしかに突っ込みたいです ^ ^

まあガンバッテ。 ${ } の中に書いてあるのはJSPに書くのと同じOGNLでValueStackも同じだから色々できるよ

677 名前:674 mailto:sage [2008/04/15(火) 00:02:34 ]
PDF作成とresult部分は固定でなら実現してます
(PDF作成にはbirtを使用)
なので、多分出来ると思います。

ただ、このままだとPDFがサーバにわんさか作成されちゃうんですよね。。
タイミングを計って、PDFを削除しなくてはならなくなっちゃいますね。。
ダウンロードではなく、ブラウザにPDF表示させなくちゃいけないので
こんな面倒なことやってます。

678 名前:674 mailto:sage [2008/04/15(火) 00:05:44 ]
追記で・・・
PDFは、画面の選択条件から動的に作成しています。

突っ込み大歓迎です!もっとスマートなやり方があれば
是非乗り換えたいです!



679 名前:671 mailto:sage [2008/04/15(火) 00:17:36 ]
application/pdf のコンテンツタイプのhttpヘッダーでpdf内容そのまま出力すればいいんでないの?

一時ファイルはいらないと思うんだけど。birtも知らないし勘違いだったら失礼。

680 名前:674 mailto:sage [2008/04/15(火) 00:27:53 ]
薄々感じてはいましたが、やはり一時ファイルは必要無いのですね・・・
servletを扱うこと自体が初めてで、他に聞ける人もおらず・・・
勉強不足を痛感しています。。本当にありがとうございます!

681 名前:デフォルトの名無しさん [2008/04/15(火) 00:55:57 ]
すいません。Strutsというか、Javaの質問になってしまうかもしれないのですが
<input type="text" name="aText" value="">
と書いたHTMLのaTextの値を、StrutsのFormで取得するにはどうすればよいでしょうか?
なんか、FormクラスにString aText;と書いておいてgetAText()やっても値が入っていないんです。

<input type="text" name="atext" value="">と書いて、
String atext;と書いてgetAtext()だとOKなんですが・・

682 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 19:35:05 ]
よろしくお願いします。

Struts2のインターセプターで、RequestAware、ApplicationAwareというのは
どんな時に使えば便利なのでしょうか?

683 名前:682 mailto:sage [2008/04/16(水) 19:40:01 ]
すいません、スコープというものを分かっていませんでした。
というか、スコープの説明を見てもピンときません。。

684 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 21:05:25 ]
>>683 なるべく使わないようにするのが良いStruts2アプリの一歩

685 名前:デフォルトの名無しさん [2008/04/24(木) 14:32:40 ]
struts初心者なのですが、ちょっとつまづいてしまったのでご教授お願いします。
DynaActionFormを使っている際の質問です。

たとえば、struts-configで
<form-beans>
 <form-bean name="formA" type="org.apache.struts.action.DynaActionForm" >
 <form-property name="a" type="java.lang.String"/>
 </form-bean>

 <form-bean name="formB" type="org.apache.struts.action.DynaActionForm" >
  <form-property name="b" type="java.lang.String"/>
 </form-bean>
</form-beans>

<action-mappings>
 <action
   name="formA" path="/pathA" scope="request" type="actionA">
   <forward name="success" path="/mainA.jsp" />
 </action>

 <action
   name="formB" path="/pathB" scope="request" type="actionB">
   <forward name="success" path="/mainB.jsp" />
 </action>
</action-mappings>
というような場合、actionBクラスでformAを使い、aの値を取れたりするのでしょうか?
色々調べてみたけれどよく分かりませんでした。
もし、方法があるのならご教授ください。


686 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 18:25:42 ]
Struts2のプロパティファイルをpropertiesではなく、
XML形式で記述できますか?

やり方がわからなかったんですが、できそうな気がするので。。
今は自分でjava.util.PropertiesのloadFromXML使って
XMLを読んでますが、もっと簡単にできないものかなと。。

687 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 18:28:12 ]
struts.propertiesに入れる項目ならたぶんこうしておけば
struts.xmlに入れておける。ただファイルを一つに出来ると言うだけで
階層化できないのであんまり意味無いけどね

<struts>
<!-- SpringFramework integration -->
<constant name="struts.objectFactory" value="spring" />
<constant name="struts.objectFactory.spring.autoWire" value="type" />

688 名前:デフォルトの名無しさん [2008/05/13(火) 10:24:17 ]
スレ違いかもしれませんが、よろしくお願いします。
Struts2を使用しています。
submitボタンをクリックすると、javascriptで確認メッセージを出し、
OK→次の画面
キャンセル→処理をキャンセル、画面遷移無し
という風に処理させたいのですが
<s:form>
  <s:submit value="追加" action="hoge_add" onclick="return add();" />
  <s:submit value="更新" action="hoge_upd" onclick="return upd();" />
  <s:submit value="削除" action="hoge_del" onclick="return del();" />
</s:form>

javascript
function add(){

if(confirm('追加します。よろしいですか?')){
//OK
var frm = document.getElementsByName('hoge')[0];
document.frm.submit();
return 0;
}else{
//キャンセル
return 1;
}

}

このように書いてみたのですが、OK、キャンセルどちらのボタンを押しても
次の画面に飛んでしまいます。。どうすればよいのでしょうか?



689 名前:688 mailto:sage [2008/05/13(火) 11:04:20 ]
自己解決しました。お騒がせしました。

690 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 22:40:26 ]
>>689
情報量がゼロの書き込みはしなくていいよ。
首くくって死ね。

691 名前:デフォルトの名無しさん [2008/05/13(火) 22:40:51 ]
今日の恥ずかしい体験を心に刻め
その気持ちが貴方を育ててくれるハズ...

692 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 03:27:41 ]
>>690
ところで、おまえのその書き込みは情報量がゼロじゃないのか?
首くくって死ね

693 名前:デフォルトの名無しさん mailto:sage [2008/05/14(水) 19:32:31 ]
>>689
自己解決した場合でもどこが間違っていたのか書いておけば
後々人の役に立つかもよ。

キャンセル時のreturn 1をreturn falseにしたら直ったとか?

694 名前:デフォルトの名無しさん [2008/05/17(土) 11:38:05 ]
ひがです。

Seasar2の後継プロジェクトとしてSlimを申請します。
SlimはかつてはSeasar3(?)と呼ばれていたものです。
詳細は、Seasarカンファレンスで発表します。

# 開設プロジェクトに関する情報
プロジェクト名:Slim
一覧に記載する簡単な説明:
"Less Is More"をコンセプトに持つ、フルスタックフレームワーク。
所属するトップレベルプロジェクト名:Sandbox.java
リーダアカウント名: higa
希望サイトアドレス: slim.sandbox.seasar.org
Maven用groupId: org.seasar.slim

よろしくお願いします。
ml.seasar.org/archives/operation/2008-March/003758.html

695 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 13:12:48 ]
>694
スレ違い

696 名前:デフォルトの名無しさん [2008/05/17(土) 13:46:12 ]
strutsをベースに業務フレームワークを作る仕事を担当する
かもしれません。オススメな書籍って何かありますか?



697 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 14:20:54 ]
今頃そんなことする会社は辞める

698 名前:デフォルトの名無しさん mailto:sage [2008/05/17(土) 14:38:55 ]
>>685
試してないですけど、actionAの中で、formAをセッションコンテクストに登録し、actionBで、セッションコンテキストからformAを取り出せば使えるのでは?
別案として、もしstruts-config.xmlを変更できるならば、actionAのformAのscopeをセッションにしておけば、actionA内でformAをセッションに登録する処理は不要になると思われ。
ちなみに激しく亀レスと、自分で言っておく。



699 名前:デフォルトの名無しさん [2008/05/17(土) 15:42:59 ]
Struts2のJSPをサブディレクトリにまとめたいと思っています。
例えば機能AのJSPは、/jsp/a/に、機能Bは/jsp/b/に置きたいのです。

なるべくZeroConfigurationに近づけたいので、
できるだけ記述(XMLやアノテーション)が少ない方法がいいのですが
何かまとめて設定する設定方法は無いのでしょうか?

700 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 01:09:13 ]
struts2で<s:textfield...に属性を追加しようとしています。
struts2のTextFieldを派生したクラスを作って、
独自のTextFieldTagから呼び出してaddParameter()を呼び出してるのですが、
生成されたhtmlにこの属性が反映されていません。

デバッガで追って、Component#addParameter()で拡張属性が
parameterにputされてるのは確認したんですが、なにがいけないんですかねえ。
ちなみに追加しようとしているのはistlyle等です。

今更ながらstruts2を使ったことを後悔

701 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 01:21:19 ]
ftlのテンプレートに書かれていないんじゃないの?

てか componentタグでスクラッチから出力した方が面倒なくね?

702 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 01:34:25 ]
一応TextFieldの派生はやめてUIBeanの派生でやってみたんだけど
同じ結果だった。Componentからスクラッチだと属性多すぎない?

今ftlをググリ中

703 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 01:40:43 ]
全部の属性インプリする必要あるの?

ftlは出力テンプレートの拡張子ね
多分 templates/simple/text.ftl


704 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 01:46:20 ]
それは見つけたんだけど、
自分で属性を追加したい場合に参考になるURLとかある?
とりあえずクラスパスにおいてみたんだけどどうにもならん。

そりゃあ全部の属性は必要ないんだけど、後でcssStyleとか
必要になってから困るのも嫌だし。textfieldかUIBeanの派生にしたい。
というか、s2タグやめたい

705 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 01:49:47 ]
よくみんなこんな設定ファイルやアノテーションの海を泳いでいられるな
なんかまだスパゲッティコードの方が順番に処理が負えるだけマシな気がしてきた

706 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 01:52:07 ]
判っちまえば、こんなパラダイスねーけどな

707 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 02:00:38 ]
俺には無理っぽいからComponentから自作することにする。
自作するときはページレンダリングなんて一種類しか使わないし、
ComponentTagSupportとComponentに分かれてるより、
JSTLのdoStartTag()でゴリゴリ書く方が楽じゃね?

708 名前:701 mailto:sage [2008/05/20(火) 02:11:40 ]
Componentを拡張して。。って話じゃないよ
それなら textfield拡張したほうがいいでしょ

俺のは s:component タグの話ね、念のため



709 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 02:17:53 ]
どっちもorg.apache.struts2.components.Componentじゃないの?
とりあえずそこから最低限の機能で作って行ってるんだけどmaxlengthとか
labelとかやっぱりいろいろ要りそうだなあ。

onXXX系を除いて、ftlを使わない方法で実装し直してる感じ。
すごおおおおおく無駄な気がする。

710 名前:デフォルトの名無しさん mailto:sage [2008/05/20(火) 02:44:52 ]
>>706
パラダイスっていうならftlの追加方法教えてくれよ(泣

>>708
そのtextfieldの拡張の仕方がわからんのでつまづいとるんだわ

711 名前:デフォルトの名無しさん mailto:sage [2008/05/21(水) 13:08:19 ]
そうそう、画面遷移の変更はそんなにないだろうし、
Actionのアノテーションに遷移書くようにすれば
ソース変更もそのActionだけにすることが可能で、わざわざ設定ファイルをいじらんでも。。ということだよね。

しかし未だにアノテーションで記述できずに、struts.xmlに書かないと動かないのもある。

そういえば、この前小規模案件のキット作り頼まれて、
「Strutsって設定ファイルの競合とか大変なんですよー」と泣きつかれたのを受けて、
可能な限り設定ファイルを分割+SubVersion管理にして競合起こさないようにしたら
今度は「ファイル多すぎですよー」とかくらいしか文句出なかった。
小規模でも分割大事だね。

712 名前:デフォルトの名無しさん [2008/05/21(水) 23:12:02 ]
iFitって使ってる人居る?

713 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 00:51:45 ]
何だっけ?
東京方面で使わされるヤツだっけ?

714 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 01:01:13 ]
struts2で<a href="...にactionのURLを入れたい時ってどうするの?
<a href="<s:url action="input" />">aaa</a>
こんな風にHTML属性の値の中にsタグ入れるのはかっこわるすぎるよね。
<s:a>タグをみててもわからないんだけど

715 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 09:01:31 ]
struts.apache.org/2.x/docs/a.html

<s:url id="url1" …>で遷移先つくって
<s:a href="%{url1}">

JSP2.1使ってたら無理。


716 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 09:41:53 ]
>>700
ちょっと時間があったのでやってみたんだけど

ftlを変更、tld追加したら、今度は追加した属性のsetterが見つかりません、、と嫌になるねぇ。



717 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 14:04:37 ]
さんくす

英語のドキュメントも最後まで読まないといかんな

718 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 14:06:34 ]
>>716
そこまで来たらTextFieldの派生クラスにその属性のsetter/getter
用意するだけじゃないの?

ftlを変更ってstruts2のjarの中のファイル?
自プロジェクトで新規にftlファイルを作って、
それを読み込ませる方法がわからないんだけど




719 名前:デフォルトの名無しさん mailto:sage [2008/05/22(木) 16:07:28 ]
struts2を使っています。
画像表示とかのアクションで、使用してるライブラリの関係上
responceに対して直接書き込んじゃうのでjspに
遷移したくないんだけど、こういう時はどうするのがstrutsらしいの?
とりあえずアノテーションで
@Result(name = "success", value = "")
としておいて、
return SUCCESS;
してみようかと思うんだけど。

アクションにしないで直接サーブレットにすべきなのかな。

720 名前:デフォルトの名無しさん mailto:sage [2008/05/23(金) 06:19:37 ]
return NONE;
にしたらできた。
Actionインターフェースみたらわかった






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<258KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef