フレームワークStrutsをいじくり倒す人の為のスレ
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん
03/04/28 08:14ID:Ub0n1fGRhttp://www.ingrid.org/jajakarta/struts/
http://jakarta.apache.org/struts/
0002ぼるじょあ ◆yEbBEcuFOU
03/04/28 08:20ID:???( ・3・) < ぼるじょあ兄妹がパンパンしながら2ゲットォー!!
( つ∋oノハヽo∈\_________________
) ,ィ⌒( ・3・)
(_(__人__,つ 、つ
0003nobodyさん
03/04/28 12:00ID:???0004みき(^-^) ◆MIKIDyAWSg
03/04/28 16:44ID:???0005nobodyさん
03/04/28 17:37ID:???00061
03/04/28 18:43ID:Ub0n1fGR0007nobodyさん
03/04/28 20:40ID:???なるほど。最近やっとServletを使い始めたオレにはぴったりの勉強材料だ。
0008nobodyさん
03/04/28 20:47ID:Pkujt7AF0009nobodyさん
03/04/28 22:21ID:???>慣れるまで大変だし。
そうでもないと思うぞ。やりはじめは確かに分かりにくいかも
しれないけど、1、2日で慣れたよ。
>ちょっと中途半端って感じかな。
仕様です。
0011nobodyさん
03/04/28 23:37ID:Ub0n1fGR仕事で使っているけど、慣れるまで大変だよ。
Oracle とか IBM とかでも使っているよーなので、努力したいと思うのだが・・・
0012nobodyさん
03/04/29 00:21ID:???0013nobodyさん
03/04/29 09:56ID:6c9ghD2c0014nobodyさん
03/04/29 10:09ID:???JSPやServletなどを知らない人がこのフレームワークをさわるのは難しいかな〜。
つうかそんな融通の利くフレームワークなんて無いと思うけど。
0015nobodyさん
03/04/29 10:18ID:AXvmxaz8どこにそう感じるんだ?
「既存の技術」ってなんだ?
Strutsでまともに組んだことなさそ・・・っつーより、よくわかってなさそ。
0016あぼーん
NGNG001714
03/04/29 10:39ID:8VlbjSE8うん、じつは使ったことないし、よくわかってないんだ(笑)ごめんぽ。
001813
03/04/29 10:59ID:6c9ghD2c実際の処理を担当する Action、表示部分を担当する JSP、これらを統合
する struts-config.xml で構成されている。
ActionForm - Action の関係は割合と捉えやすい。データをロードし
てから編集するときとかは、作業は楽だ。
しかし JSP のコーディングが厄介。あらかじめ用意されている専用
タグを使うのだが、普通に Java のコード書くほうが数段楽だし融通が
きく。
デザイン面は客の要求が厳しいところだし、現在かなり鬱になって
いる。
002013
03/04/29 18:05ID:6c9ghD2cエディタで書けないもののほうが、あとあと困る気がするが。
専用タグが面倒なことは否定しないが、専用タグ使わないと MVC にならない。
0021nobodyさん
03/04/29 18:55ID:???002213
03/04/29 19:55ID:6c9ghD2cずっと最初からエディタで書いているから、ビジュアルな環境自体は不要なデベロッパーが多いと思われ。
それにデザイナーから出てきた HTML を書き換えていく事が多いから、便利ツールがあっても余り役に立たない気がするが?
もっとも、Struts はフレームワークであってツールで無いので、誰かがStruts 用ツールを書いてくれても問題ない。
0023nobodyさん
03/04/30 00:26ID:7R70iZIRIBMのWSADとかいうIDEがそのへんを面倒見てくれるはず。
0024あぼーん
NGNG002513
03/04/30 06:35ID:/Snk6liyonclick='return func(<%=Sample.getID()%>);' はだめだけど、
onclick='<%="return func(" + Sample.getID() + ");"%>);' は実行されるね。
デザインとコンテンツ分離していないな・・・しかし。
0026nobodyさん
03/04/30 10:55ID:sH+8Jb43>onclick='return func(<%=Sample.getID()%>);' はだめだけど、
なぜ動かないかが謎
002713
03/05/01 13:43ID:1itvb5PAStruts1.02 Tomcat4.06 J2SE1.41_02 での動作。
単に Struts タグのパースが甘いのではないかと思われ。
002913
03/05/02 04:03ID:CDnP+fh3知らんかった・・・逝ってきます。
0030あぼーん
NGNG0031nobodyさん
03/05/02 11:45ID:U4GCg6UJDBの抽象化、フォーム項目検査の共通化は似たようなことを自分でやっていたので、見つけたときはちょっと欝入りました(^^;
っつーことで、「フォームから送信された時にアクションBeanをマップして〜」というのは結構サンプルがWebや本にもある
のですが、他のWebなんかからクエリー文字列で送られてきたパラメータの解釈なんてーのはどうやるのでしょう?
これは多分どこかに答えがあると思うのですが、検索できませんでした(T_T)
多分、受け取るだけならbean:parameter でいいんでしょうが、その後のValidatチェックとかはどうすれば? というコトです。
やっぱり、Bean作ってプロパティに入れて、チェックは自分でシコシコと、なんでしょうか? 出来ればValidatorを使いたいの
ですが……。
あと、logic:iterate で、抽出条件などの初期値をbeanに指定するにはどうすればいいのでしょうか?
ワタシ的には
コレクションを含むBeanを定義。プロパティに抽出条件、抽出実行メソッドを定義
↓
JSP内でBean作成。プロパティに抽出条件をセット
↓
JSP内で抽出実行メソッドを実行
↓
logic:iterate にBeanとコレクションを設定。
……で、いいかなぁ、と思っているのですが「JSP内にスクリプト書いちゃっていいのかなぁ? それともタグライブラリで
出来るのか?」と思い、まだ試していません。多分、これもどこかに答えがある(絶対みんな使うはずだ(^^;))と思うのですが、
これもまだ検索できていません。
以上、「このページを見ろ!」だけでも教えていただけると助かります。よろしくお願いします。
0032nobodyさん
03/05/02 13:04ID:NXr20aw7Struts使うんなら基本的にJSPには直接アクセスさせないで、必ずActionを経由
するようにしないと、あちこち破綻しまっせ。
003331
03/05/02 13:21ID:U4GCg6UJ>Struts使うんなら基本的にJSPには直接アクセスさせないで、必ずActionを経由
>するようにしないと、あちこち破綻しまっせ。
他のWebや本でもそう書いてありますね。ということはやはりbeanタグを使うのでしょうか?
そのあたり、どこかに書いてないモノでしょうかねぇ( ´∀`)
※探してるけどやっぱり検索できない(T_T)
0034nobodyさん
03/05/02 13:55ID:L5fY5Do4ちなみにバージョンは?
003531
03/05/02 14:41ID:U4GCg6UJすみません。多分「ちゃんと」は勉強してません。本とWebの拾い読みです(拝)
バージョンは1.1を使おうと思っています。
0036nobodyさん
03/05/02 15:53ID:L5fY5Do4003731
03/05/02 16:21ID:U4GCg6UJも、もう少し詳しく(^^;
0038あぼーん
NGNG0039nobodyさん
03/05/02 23:45ID:CDnP+fh3GETのオプションも ActionForm の中に入ると思った。
Action に飛ばすのが推奨だけど。
0040あぼーん
NGNG004131
03/05/03 03:10ID:4TfEEb3Wえと、ごめんなさい。誤解があればご指摘を。
……それは、「hogehoge.do?hanya=1」という風にURLで呼び出す、ということでしょうか?
で、表示に必要な情報はBeanに入れてセッションで保持して次のページで表示、ということでしょうか?
うーん、自分で書いてて、何かが違うような気がする……
0042nobodyさん
03/05/03 16:02ID:t0/6rwZ0ActionForm からは Action を必ず呼び出すのが推奨だが、
リンクさせたいだけなら、<%= %> とコードをかいても、
<html:link> タグを使ってもいい。
0043nobodyさん
03/05/04 01:07ID:M8Vf8h8DActionForm から Action を呼び出すって...
もうすこしわかってから人に教えようよ...
0044nobodyさん
03/05/04 02:08ID:tPLquQaPActionFormと結び付けられていないJSPから、Actionを呼び出すの?(笑)
0045nobodyさん
03/05/04 02:46ID:M8Vf8h8D42の人ですか? 本格的にわかってないのかな...
・ActionForm と Action には呼び出し関係はありません
・ActionForm は Action の引数として渡されます
・ActionForm にリクエストパラメータを設定して
Action を呼び出すのは ActionServlet です
0046nobodyさん
03/05/04 03:49ID:tPLquQaPStrutsいじったこと無いのかな...
0047nobodyさん
03/05/04 03:55ID:tPLquQaPとはいいつつ、意図の補足。
>>41 の話をきいていると、JSP ファイル間でリンクを貼りたいと
いいたいように見えるが、Struts では Struts に従った JSP ファ
イル(ActionForm と関連付けられたフォームを持つ)からは、
Action での処理に移るのが推奨になっている。
だから struts-config.xml で ActionForm を連携している JSP
ファイルからは、他の JSP ファイルに直接リンクを貼るのは望ま
しくないと書いた。
> Action を呼び出すのは ActionServlet です
これ自体は間違っていないが、ActionServlet を自分で書かないよな?
004831
03/05/04 13:46ID:p4vaAgcq>>41 の話をきいていると、JSP ファイル間でリンクを貼りたいと
>いいたいように見えるが、Struts では Struts に従った JSP ファ
>イル(ActionForm と関連付けられたフォームを持つ)からは、
>Action での処理に移るのが推奨になっている。
大体あってます。が、「JSP同士」では無く(まぁそういうこともあるでしょうが)
1.他のサイトからリンクされてる
2.スタティックなHTMLからリンクしたい
3.ビュー側で初期値を与えたい
4.その他、「諸般の事情」でどうしても初手はGETでしかリクエストできない
ようなとき、抽出条件その他の初期値を与えたい場合、どのように処理をすればいいのか、ということです。
>>41では、抽出結果をいちいちセッションで保持するのはメモリの無駄のように思えましたが、考えて見れば
ビュー側で表示が終わったら明示的に消去すればいいんですよね? だからやっぱり>>41で書いたように
hogehoge.do?hanya=1でGETでリクエスト
↓
Actionクラスで条件をValidatしビジネスロジックを実行
↓
抽出結果をBeanに格納しセッションで保持
↓
ビュー側でBeanの内容を表示
↓
表示し終わったら、セッションの内容を明示的に破棄(Nullを入れる)
というストーリーでいいのかな、と思いましたが、これだと3.が実現できないんですよね。
どうでしょう、こういうことをした人はいます?(^^;
0049nobodyさん
03/05/04 18:56ID:tPLquQaP>ビュー側で初期値を与えたい
ActionForm に初期値をセットすればいいのだと思われ。
外部から直接、〜.do にアクセスが飛んだ場合でも ActionForm の
インスタンスは作成される。
コンストラクタか、初期値でモゴモゴっと処理してしまえばよい。
※ ただし推奨方法なのかは謎
0050あぼーん
NGNG0051あぼーん
NGNG005231
03/05/04 23:36ID:p4vaAgcqそうか、基本のActionFormは作っておいて、おっしゃるとおりコンストラクタか、初期値を設定するメソッド
(まぁ、グローバルなプロパティでもいいんでしょうが)をオーバーライドして、ビューの数だけ継承しながら
作っていけばいいんですね?
出来ればビューだけで解決したかった(HTMLデザイナーに微調整は全部やらせたかった(^^;))のですが、
考えて見れば(MVCの概念では)抽出条件とかってビューには含まれませんものね。
了解しました。この考え方でプロトタイプを作って見ます。アドバイスありがとうございました(拝)
0053nobodyさん
03/05/05 12:27ID:JAcSDFlcそれを使わされる下の人間いるの?なんか可哀想だな(ゲラ
0054あぼーん
NGNG005531
03/05/05 21:29ID:fyscN38j申し訳ありませんが、問題点があれば具体的にご指摘いただければ助かります。
是非ともよろしくお願いします。
0056nobodyさん
03/05/05 22:56ID:???よんでstrutsの使い方を把握し実際に動かすことに成功したが
あの本を読んでいる限りは、struts-config.xmlファイルの設定が面倒くさそう。
Beanを追加すればするほど肥大化はいやなもんじゃ。
JavaServerFacesに期待しているのだがどうなのだろうか?
0057nobodyさん
03/05/05 23:07ID:TDsoNdrN>>55
もう解決したようですが「Viewで初期値を与える」という発想が
間違いのもとです。
それと>>52で書かれていることも意図が掴めません。
普通に作っていけばActionとActionFormのサブクラスが機能の
数だけ作られて、それで何も混乱の元は無いように思うのですが。
0058あぼーん
NGNG0059nobodyさん
03/05/05 23:13ID:TDsoNdrNstruts-config.xmlを手でいじるのが嫌なら、IBMのWebSphereに付いてる
IDEか、Scioworks CaminoやEclipse用プラグインなどを使うがよろし。
俺はXML手書きのほうが手っ取り早いので使っていませんけど。
http://www.scioworks.com/
http://w3.cube-web.net/eclipse/index.php?%5B%5BStruts%A5%D7%A5%E9%A5%B0%A5%A4%A5%F3%5D%5D
JSFに関しては、既存のWebアプリケーションのビジネスロジックは
修正せずに、StrutsカスタムタグをJSFコンポーネントタグに
置き換えられるようにするstruts-facesというライブラリが
あります。まだexperimentalですが。
http://cvs.apache.org/builds/jakarta-struts/nightly/struts-faces/
0060nobodyさん
03/05/05 23:22ID:TDsoNdrNhttp://jakarta.apache.org/struts/proposals/struts-faces.html
0061あぼーん
NGNG006231
03/05/06 00:51ID:OVvSof92そうですね。ちょっと整理しましょう。今回解決すべき問題点は二つでした。
(1)システムが動くサーバの外から、抽出条件のパラメータが付いたGETリクエストが飛んでくる。
(2)デザイン的に、ビュー毎に.表示する情報の抽出条件を変化させる必要がある。
で、解決方法として
(1)については、URLを「hogehoge.do?hnya=1」等と記述してもらうことでアクションサーブレットを起動し、あとは通常のStrutsの処理フローに乗せる。
(2)については(MVCの考え方で行けば)抽出条件というのはビューに含んではいけない。たとえビューと一対一で対応するとしても、それぞれに
抽出条件などを設定したコントローラ(=アクションクラス)を用意すべきである。
と理解した。ということです。
0063nobodyさん
03/05/06 01:42ID:???そもそも解決すべき問題点は、おまえさんの「日本語能力」にあると思うのは漏れだけだろうか。
内容意味不明だし、一体何が知りたくてココに書いてんだ?って感じ。
おまけにStrutsのドキュメント、まともに(全く)読んでない(読めない)感すらある。
0064nobodyさん
03/05/06 07:24ID:M26ZMqzh裏技?として ActionForm 内にクエリーを書いてしまう方法もある。
GETパラメーターを格納(setXXX)したあとに、JSP内部でプロパティーを
参照(getXXX)するので、条件にあった表示が得られる。
006557
03/05/06 12:48ID:6G0ArJzRだいぶわかりやすくなりました。
今回は書かれている方法でもよさそうな感じですが、一点だけ、
>(2)デザイン的に、ビュー毎に.表示する情報の抽出条件を変化させる必要がある。
この要件がいまいち不可解だったのでした。
抽出条件によってデザインが変わってくるのであれば、それは
別のビューとして(複数のJSPに分けるなどして)実装して、Action
の戻り値を返ることで適切なビューを表示するようにすれば良いし、
デザインは変わらないけど表示すべき情報が可変であるということ
であれば、アクションクラス内で取得した情報を<logic:*>や<bean:*>
タグで好きなように表示すればいいわけですから。
要は、
「JSPに抽出条件を持ってもそれを使用する局面が無い」
イコール
「JSPに抽出条件は含めないほうがいい」
という感じで。
0066nobodyさん
03/05/06 23:32ID:mn6KLLDyあれってservlet APIの2.4からだよね。
ところでMastering Jakarta Strutsって本読んだ?
あれは酷い。1.0のソースを無理やり1.1にしただけ。
tilesとかvalidatorとかの説明ぜんぜんなし。。。
金返せー
006731
03/05/07 15:29ID:YS2KuJ4nフォロー、ありがとうございました。この方向でちょっとプロトタイプを作って見ます。
アドバイスどもでした(拝)
0068nobodyさん
03/05/07 17:35ID:???漏れもMatering Jakarta Struts買ったっす。
1.1Beta3 ベースということで期待してしまったが裏切られた…。
まあ、1.0の情報にしても、漏れの手元には雑誌とかWebとか断片
的なものばかりだったので、まとまった本をゲトしたというだけで満
足しようかなて感じ。
やはりValidatorやTilesの総括的な説明とか、リファレンス的な資料
は是非欲しい今日この頃。
006943
03/05/08 01:03ID:QIbU8bsc亀レスだけどさ。やっと意味がわかったよ。
あんたが42でいってるActionFormってのはJSPのフォームのことね。
そりゃ用語の使い方間違ってるだろ。
言語能力低い奴と議論するのは疲れるな。
0070nobodyさん
03/05/11 03:05ID:???無理して用語を使わなくていいからしっかり自分の言葉で
丁寧に書いておくれ、読んでて疲れるから。
0071nobodyさん
03/05/11 15:19ID:???Cannot find bean putListName in any scope'
って表示されてうまく動きません、、。
tiles-def.xml
では正しく定義していると思います。
どこか気をつけないといけない点とかあれば、
教えてください。
0072nobodyさん
03/05/11 16:18ID:RN6cVwq40073nobodyさん
03/05/11 17:24ID:???0074nobodyさん
03/05/13 00:23ID:???仕事で急にサーバサイドJavaをやることになったんでその本を買って勉強してたんだけど、泣いた…。
Javaは基本的な文法ぐらいしか知らなかったのに、納期の都合とはいえいきなりこの本を読むのも問題だが。
Actionクラスのオーバライドで4章ではきちんとexecute()メソッド使ってるのに、7章でいきなりperform()メソッドだもんなぁ(汗
わけわかめ状態だった。
0075nobodyさん
03/05/13 20:11ID:HYZm7KE1<html:text />などでActionFormの内容を表示する場合に
出力文字に&などが入っていると、&などに置換されてしまいます。
<bean:write />の場合には filter="false"などでフィルター処理を無効にできるので、
上記と同じ状態を回避できるのですが、
html:text や html:textarea タグなどの場合には、
文字としての&を出力できないのでしょうか?
どなたか方法を知っていたら教えてください。
007675
03/05/13 20:13ID:???<html:text />などでActionFormの内容を表示する場合に
出力文字に&などが入っていると、&amp;などに置換されてしまいます。
^^^^^
0077nobodyさん
03/05/14 02:17ID:???なんか本当に恥ずかしい意見だな…
Strutsモデルだと、いやでもMVCになるだろよ。
ろくに調べもせずに物言うのはイクナイぞ。
>>76
受け取り側で置換された文字列を戻すのはいかんの?
ちなみに入力系でエスケーフはずすと ひろみちゅ あたりに
ネチネチ指摘されちゃうよ。
007976
03/05/14 16:33ID:???レスサンクスです。
詳細書きますと、AirH"Phone でtextarea内を編集する時に
textarea内のテキストの改行が
CR+LFだとうまく改行として認識してくれないのです。
(&#13;&#10;)だと改行として認識してくれるので
直接(&#13;&#10;)を出力したいのですが、
Strutsの <text:textarea> タグで出力すると以前書いたように
&が&amp;に変換されてしまうので困っています。
無理やりここだけStrutsから外れて処理するのも
ActionFormの恩恵(validate等)が受けれなくなってしまうので
いやだな〜と思っている次第です。
分かりにくい文章だとは思いますが、
またどなたか解決策や情報ありましたらよろしくお願いします。
0080初心者
03/05/16 01:20ID:P4wQZ3na<html:text filter="false" .....
みたいなのってなかったっけ?
008177
03/05/16 02:31ID:???今ソースを追ってみたけど普通にfilter書けちゃってるねみたいだね。
どうせなら html.TextareaTag を拡張すれば?
属性を一つ追加して、doStartTag内の以下の記述に分岐処理
加えるとか。
results.append(">");
if (value != null) {
results.append(ResponseUtils.filter(value));
↓
results.append(">");
if (value != null) {
if (filter == true){
results.append(ResponseUtils.filter(value));
}else{
//今回変更したい処理
results.append(changedValue);
}
もし急ぎだったら、カスタムタグで逃げたほうが早いよ。(たぶん)
0082nobodyさん
03/05/16 03:56ID:+YvWQ3K9デザインパターンの勉強にもなるし(特にModel部分)。
0083あぼーん
NGNG0084nobodyさん
03/05/16 05:38ID:???私も当然あると思ったんですけど、無いんですよね〜。
>>81
おー。やはりそうでしたか。しかもサンプルまで書いて頂いて。
ソース手元に無かったので覗いていませんでした。報告助かります。
今、対象となる部分は後回しにしていますので、
すぐにではありませんが余力が出来次第、対応したいと思います。
ありがとうございました。(・∀・)
でも、なんでそんな実装してるんだろ、、。
個人的には、改善して欲しいな。( ´・ω・`)
0086nobodyさん
03/05/16 17:08ID:teI9CzVhWEB-INFの下に以下の内容のApplicationResources.propertiesを置いて、
----
errors.footer=</font>
errors.header=<font color="red">
errors.input={0} 入力エラー
----
ActionFormのValidateでエラーチェックをしているのですが、
ブラウザで見ると、
null null
と表示されます。
これはなぜでしょうか?
0087nobodyさん
03/05/16 17:09ID:teI9CzVh書き間違えました。
WEB-INFの下ではなくて、
WEB-INF\classesの下です。
ちなみに、Strutsは1.0.2です。
0088あぼーん
NGNG0089あぼーん
NGNG0090nobodyさん
03/05/16 18:57ID:X/k6KzQWBeans内部で Cp932 と JIS マッピングの変換処理するのは反則か?
0092nobodyさん
03/05/17 17:27ID:z/6/8Laeあー。出ないですねぇ...
ApplicationResources.propertiesが見つけられていないのか?
何でかなー。
WEB-INF\classes下に置けばいいんですよね?
009391
03/05/17 20:03ID:???struts-config.xml に以下の記述はありますか?
<message-resources parameter="ApplicationResources"/>
(プロパティーファイル名が、ApplicationResources.properties で classes 直下の場合)
最初から、これを聞いておけばよかった、、。
0094nobodyさん
03/05/17 21:42ID:gyiwxN9iWindows31Jから他のエンコーディングにするときにマッピングしてます。
(JavaMailする時とか、ファイルに出力するときとか)
jspもservletもWindows31Jに統一しておけば、それほど問題無し。
データベースはutf-8。
009592
03/05/17 23:17ID:O2nhd5otあります。
あっても、なくても変わらないんですよ。
ちなみに、ApplicationResources.properties では、
-----
errors.footer=<HR></font>
errors.header=<HR><font color="red"><h3>\u5165\u529B\u30A8\u30E9\u30FC</h3>
errors.required={0}\u3092\u6b63\u3057\u304f\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002
errors.selected={0}\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002
-----
と設定し、JSPで、
<bean:message key="errors.required" />
とやっています。
あー。分からないー
0096あぼーん
NGNG009793
03/05/18 00:03ID:???<bean:message key="errors.required" />
で、nullが表示されるんですか?
Missing message for key errors.required'
とか画面にエラーで出力されませんか?
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
などの宣言が無くて、
<bean:message key="errors.required" />
とそのままタグのまま出力されてるとかってことはないですよね?
リソースが見つからない場合はエラーがでると思うんですけど、
それも出ないんですよね?
一度、同じ環境で、
struts-blank.war で動くかやってみてはいかがでしょうか?
resouece を表示するところまでのサンプルにはなると思います。
参考にならずにすいません。( ´・ω・`)ショボーン
009892
03/05/18 10:14ID:RgYrYgHP>Missing message for key errors.required'
が出ます。
taglibの宣言は入っています。
説明がまずかったようですね。
このメッセージが出るときは、リソースが見つかっていないんですよね?
struts-blank.warを動かしてみます。
いろいろアドバイスありがとうございます。
009992
03/05/18 10:49ID:RerIJFH5リソースも読み込めます。(文字を変えて試しました)
自分の作ったものと違うのは、Eclipseを使って試しているので、
自分で作ったソースは、
eclipse\workspace\xxxx\WEB-INF\classesなどにあるということ。
tomcatの配下にないとだめなんですかねぇ...
何が、いけないんだろ?
010097
03/05/18 10:59ID:???struts-blank.war は動いたようでよかったです。
(それすら認識されなかったらどうしようかと思っていました。)
私も Eclipse 使っていますが、 Tomcat以下ではありませんがきちんと認識しますよ。
struts-blank の環境を Eclipse に放り込めば多分認識されると思います。
おそらくどこかの宣言がおかしいか足りない等だと思いますが、
このまま struts-blank をベースに開発していった方が楽かもしれませんね。
それでは頑張ってください。
010192
03/05/18 11:07ID:Rl7PkOHS97さん、お付き合いいただき、ありがとうございます。
分かりました。ログを見て気づいたのですが、
web.xmlの
<!-- Action Servlet Configuration -->
が、
<param-value>org.apache.struts.webapp.example.ApplicationResources</param-value>
となっていたので、
<param-value>ApplicationResources</param-value>
と変えました。
これを行ったら、きちんと表示できるようになりました。
validateもOKでした。
ありがとうございます。
これって、もしかして常識ですか?
だとしたら、勉強不足です。申し訳ないです(;_;)。
0102あぼーん
NGNG0103100
03/05/18 11:49ID:???私も知りませんでした。
というより struts1.1 しか触ってないので 1.0.2 は全く知りませんでした。
今、 jakarta-struts-1.1-rc1 と jakarta-struts-1.0.2 の struts-blank.war 内の
web.xml を見てみたのですが、
確かに init-param 要素に application がありますね。
ちなみに 1.1 の struts-blank.war の web.xml ではなくなっています。
試してみたところ、1.1でも同じように認識はします。
web.xml での宣言の方が優先されるようなので
おそらく、1.0.1でも、web.xml ではなく、struts-config.xml でのみ定義すれば
うまく動くのではないでしょうか?
今後はそちらが推奨なのかな、、、?( ´・ω・`)
ちなみにドキュメントなどはきちんと読んでませんので違う部分があればご容赦ください。
0104nobodyさん
03/05/18 23:38ID:???Struts以前に、Servletそのもの、全く理解していないだろ?
レベル低過ぎで議論の余地無し。
0105nobodyさん
03/05/19 01:03ID:wtvJuzDV何をオマエが言いたいのかわからん
自分は分かってるよんってアピールかな?
優しく教えてやればいいじゃん、そんな書き込みするくらいなら。
まあ、俺は面倒くさいから書かないがな(ワラ
※それでも、煽るだけの奴よりはマシだね
<param-value>org.apache.struts.webapp.example.ApplicationResources</param-value>
↑一応Strutsの話だから、問題でもないべ
0108山崎渉
03/05/22 02:00ID:???0109nobodyさん
03/05/22 19:24ID:+fKyQ+WMビットマップを表示したいのですが、表示するビットマップ名自体は、
Beanのプロパティとして設定されています。
この場合、
<html:img...はどのように記述すべきでしょうか?
いろいろやっていたのですが、すべて実行時にエラーになってしまいます。
例えば、無理やり
<html:img src=<bean:write name="XXX" property="img"/> border="0" />
のようにしてみましたが、できませんでした。
どうするのが一般的でしょうか?
0110nobodyさん
03/05/22 22:25ID:???0111109
03/05/23 08:58ID:z66Oyt3Odefineタグで、どうやるのでしょう?
もちろん、Beanはdefineしてあります。
教えて君で申し訳ないですが、お願いします。
0112nobodyさん
03/05/23 14:09ID:YPcGLQF2taglibの入れ子ができないので、一度変数に格納するってこと。
taglibではdefineでできまぷ
0113109
03/05/23 17:11ID:???ありがとうございます。
できました。
そういうことだったのですね。
0114nobodyさん
03/05/23 18:40ID:hBMC8P4e<c:set value="src"><bean:write name="bean" property="prop"/></c:set>
<html-el:img src="${src}"/>
みたいに出来る気がします。
0115あぼーん
NGNG0116山崎渉
03/05/28 17:07ID:???ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0117nobodyさん
03/06/03 16:19ID:L+5xX/pqstruts-config.xmlの<action-mappings>、pathとtypeは別個のものなんですよね?
何がしたいかというと、「GETメソッドでアクセスしたときに、まったく同じロジックで
JSPだけ違うモノを使いたい」という時に、以下のようなstruts-config.xmlを書けば
OKか? ということです。
<action-mappings>
<action path="/hogehoge_moner" type="hogehoge" name="hogehogeForm">
<forward name="success" path="/moner.jsp" />
</action>
</action-mappings>
<action-mappings>
<action path="/hogehoge_gikoneko" type="hogehoge" name="hogehogeForm">
<forward name="success" path="/gikoneko.jsp" />
</action>
</action-mappings>
で、「hogehoge_moner.do?param=ABC」でmoner.jspにリダイレクトし、「hogehoge_gikoneko.do?param=ABC」
でgikoneko.jspにリダイレクト、hogehogeFormでエラーなどがあったら共通のエラー処理を行い、正しかったら
ロジックも同じ結果が返ってくる、ということでいいんですよね?
(もちろん、同じロジックが使えるように双方のJSPを記述するのは大前提ですが)
0118nobodyさん
03/06/03 16:29ID:???やりたいことは可能。だがその記述じゃうまく動かない。
1. <action-mappings> はstruts-config.xmlに2つ書けないので、こうする。
<action-mappings>
<action path="/hogehoge_moner" type="hogehoge" name="hogehogeForm">
<forward name="success" path="/moner.jsp" />
</action>
<action path="/hogehoge_gikoneko" type="hogehoge" name="hogehogeForm">
<forward name="success" path="/gikoneko.jsp" />
</action>
</action-mappings>
2. フォワードじゃなくてリダイレクトしたいのならredirect="true"にする
<forward name="success" path="/moner.jsp" redirect="true" />
<forward name="success" path="/gikoneko.jsp" redirect="true" />
3. ActionFormでvalidateを行うのならinput属性を書くべし。
0119117
03/06/03 23:15ID:L+5xX/pqありがとうございました。早速試してみます。
>2. フォワードじゃなくてリダイレクトしたいのならredirect="true"にする
そうか、二つは違うんですよね。JSP(Strutsでない)でハマったのを思いだしました。
>3. ActionFormでvalidateを行うのならinput属性を書くべし。
あい、気をつけます(拝)
0120あぼーん
NGNG0121nobodyさん
03/06/05 11:59ID:hOMijE8l0122あぼーん
NGNG0124nobodyさん
03/06/22 00:10ID:dgrg4nwiIDの入力ボックス(html:text)にユーザが入力したIDを再表示させたいのですが、
どのように実装すればよいのでしょうか。
ActionFormには値が入ってるのですが。
0125nobodyさん
03/06/22 00:16ID:???・IDを入力するテキストボックスにvalue属性を設定しない
・ActionFormのresetメソッド内で値を初期化しない(なにもしない)
・ログインページ再表示がredirectで遷移する場合はActionFormのスコープをsessionにする
上記の点を満たしていれば普通に再表示されると思うが?
0126あぼーん
NGNG0127nobodyさん
03/06/30 23:00ID:???0128nobodyさん
03/07/02 03:25ID:HpdeM5Co0129128
03/07/02 04:42ID:HpdeM5CoActionErrors errs = new ActionErrors();
errs.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.giko"));
saveErrors(req, errs);
return map.getInputForward();
0130あぼーん
NGNG0131nobodyさん
03/07/02 13:23ID:HpdeM5Coぼくは単に流行ものに手を出している程度で何がよくて、何が悪いか全然わかりません。
0132nobodyさん
03/07/02 17:14ID:HpdeM5Co0133nobodyさん
03/07/02 17:42ID:9VBD/WROhttp://goodgoods.fc2web.com/~/pc.html
0134nobodyさん
03/07/02 20:59ID:???0136nobodyさん
03/07/03 21:48ID:qMkTj/89本番環境がiPlanetなんです。
なぜと言われても、、、
0137nobodyさん
03/07/04 05:56ID:nf207VCoorg.apache.struts.util.PropertyMessageResources.javaの一行を消せば動く。
てかこのぐらい本家で修正してよ。
0138あぼーん
NGNG0139nobodyさん
03/07/04 11:21ID:???0140nobodyさん
03/07/06 01:26ID:JXtSLR70意味が無いように感じている。
アンカークリックによる検索中心でユーザーからの入力が
ほとんど無く、ページ遷移も決まりきっているので、JSP
でちゃちゃっと作ればいいと思うんだが・・・。
0141nobodyさん
03/07/06 02:00ID:???考えられるメリットは
・実パスと論理パスの分離(actionやglobal-forwardの利用)
・例外処理のフレームワーク
・URL Rewritingによるセッション管理がデフォルト装備
・Transaction Tokenが使える
ValidatorやDynaActionFormの恩恵は少ないのかもしれないが
それでもメリットはあるように俺は感じる。
0142140
03/07/06 14:53ID:BJuXMekwレスありがとう。
俺含めてチームはstrutsが初めてで、今勉強している最中。
翔泳社マスタリング Jakarta Strutsのレベルなので、まだまだ
知識不足のようです。
この本中途半端であまり良くないっすね。141に書いてあるもので
書いてない事項多し。オライリーの馬本はどうなんでしょう?
ところで、トルクを使ってる人いますか?
0143nobodyさん
03/07/06 21:27ID:???1.1で追加された機能についてはほとんど書かれていない。
0145nobodyさん
03/07/07 12:04ID:bM5NoCfpかわいそうに…
0146nobodyさん
03/07/07 12:09ID:???他人様が自社ビジネスのためにお金を出して導入するシステムに
Torque はまだ怖くて使えない。。。少なくとも俺は。。。
責任持てんよ。。。
0147nobodyさん
03/07/07 13:06ID:agSF/RdOみんな、どんどん試してくれ(w
0148nobodyさん
03/07/07 13:26ID:1L6FwMlP0150nobodyさん
03/07/07 13:48ID:???DecimalFormatとか使って自分で作ったらどうよ?
ストラトス(って読むんだよな?)ってどんなこと出来るんですか?
0152nobodyさん
03/07/07 13:53ID:???(読みの訂正サンQ)
0153nobodyさん
03/07/07 14:00ID:???実装が楽にならなくてもいいのか?
ていうか、趣味だったらWebアプリ作る必要がないってことか?
0155nobodyさん
03/07/07 14:09ID:???そういう目的なら、なおさら使ってみることをおすすめする。
他人の設計を参考にするのはとてもいい勉強になるよ。
オープンソースだからソースコードが手にはいるからね。
0156nobodyさん
03/07/07 14:16ID:???参考になったぜよ
0157nobodyさん
03/07/07 16:42ID:SauQoyH6strutsはポート80で動いてくれません。
なぜ?
なにか設定がいるのですか?
0158あぼーん
NGNG0159nobodyさん
03/07/07 21:17ID:???0162nobodyさん
03/07/08 00:56ID:I0Aop1scStruts以前の問題のような。mod_jkとか導入しよう。
0163144
03/07/08 02:24ID:???内心気付きはじめたようです。
『やべ、トルクを使いこなすまでの過程を工数に入れてない…』
ハッキリ言ってこんなプロジェクトはいやです。
ただ、トルク自体はちゃんとやれば面白そうかも。。
まずはお遊びでいろいろ弄ってみたかった。
ちなみにトルクを推薦した同僚は、現在誰よりも
テンパっております。(ケケケ
0164144
03/07/08 02:24ID:???0165nobodyさん
03/07/08 08:06ID:???>ハッキリ言ってこんなプロジェクトはいやです
あー良かった。似たような状況でトルク検討したんだけど、
やばいニオイがして今回は避けたんだわ。
#DAOどころか、各所でSQLベタ書き…(苦笑
ただ個人的にオープンソースプロダクト(使う技術(製品)じゃなくて最終的に作る製品の方)
もやってるので、抽象化できるトルクは非常に魅力的。
別言語なので、まだStrutsの方からポートしてるんだけどね。
0166nobodyさん
03/07/08 08:52ID:???0167nobodyさん
03/07/08 10:47ID:???apache 1.3.22
tomcat 3.2.3
mod_jkモジュールで連携してます。
JkMount /*.doの設定でポート80で動くようになったのですが
mod_jk.conf-autoはtomcat起動で初期化されてしまいます。
mod_jk.conf-autoにJkMount /*.doを反映するようにするには
どうすればよいのでしょうか?
0168nobodyさん
03/07/08 15:23ID:???いまどき3.2かよ。。。
mod_jk.confのauto生成はやめて、手で
JkMount /examples ajp12
JkMount /examples/* ajp12
みたいにしたらええやん。
まぁあとはTOMCATスレにでもイってきいてみてください。
3.2.xの人がいるかどうかは知りませんが・・・
0169nobodyさん
03/07/09 05:13ID:6Wv2HqZvたいな要素名をつけたときに、ActionFormに内の配列 hogehoge をコン
ストラクタで初期化しないとArrayIndexException出るのは仕様?
0170145
03/07/09 14:34ID:l6h4pKLRえーとね、Torqueがヤバいのは「使いこなすまでの期間云々」ではなくて
Torque自体がイマイチということです。
この種のフレームワークを一通り試してみた限りでは、
Hibernate > CastorJDO >>>> Torque = ObjectRelationalBridge(OJB)
という印象でした。
Hibernate
* マニュアル充実
* マッピングの自由度高
* 設計が奇麗(APIの敷居が若干高めかも)
CastorJDO
* マニュアルちょっと不足気味
* 採用事例も少なめ
* マッピングの自由度中
* APIは理解しやすい
Torque
* マニュアル貧弱
* 導入しようとしている人はよく見かける
* OQLやSQLもどきではなくCriteriaを使うので自由度に欠ける
0171145
03/07/09 14:36ID:l6h4pKLRオープンソースのweblogツール Roller のコードが色々と参考に
なります。
http://www.rollerweblogger.org/
0172あぼーん
NGNG0173nobodyさん
03/07/09 23:40ID:/FzUJF2Hhttp://nuts.free-city.net/index.html
0174nobodyさん
03/07/11 05:13ID:nfu8obQl0175nobodyさん
03/07/15 02:04ID:tacmQetG0176山崎 渉
03/07/15 11:05ID:???__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0177145
03/07/15 16:43ID:/HlfTkea<bean:write name="foo" format="##,###"/>
0178175
03/07/16 02:14ID:CgeCIzkzさんくす
0179144
03/07/16 21:31ID:???あなたのような人と仕事がしたかった。
Hibernate, CastorJDOは使った事無いのでそれらがどれくらい
良いのかは分かりませんが、気になりますね。
ただ、みんなしてRDB/Objectマッピングが初めてで工数は無視出来ない
っすね〜。
0180145
03/07/16 23:08ID:drBR3s7fひょっとしてマッピングの実作業(XML記述)も分業してたりします?
経験上、マッピング用XMLの記述・メンテナンスは誰か一人に
担当させて、その他大勢はBeanだけをいじらせるようにしたほうが
トータルの作業時間は減ると思う。
0181nobodyさん
03/07/18 11:22ID:s7uP94Oittp://homepage2.nifty.com/ymagic/struts/samples/subapplication/
「struts-config」の一部を「struts-config-A」に分割したんですけど、「A」フォルダ内のjspに書いてあるactionをうまくとってくれません
構造は
test
+index.jsp
+A
+top.jsp
+result.jsp
struts-config-Aの中身
<form-beans>
<form-bean name="test_FB" type="(略)" />
</form-beans>
<action-mappings>
<action path="/test_action" name="test_FB" type="(略)">
<forward name="success" path="/result.jsp" />
</action>
</action-mappings>
という感じです。(略)の部分は、分割前は通用していたので、大丈夫だと思って省いています。
それで、jspページ(A/top.jsp)です
<html:form action="/test_action">
(以下略)
が、最上部の「index.jsp」からこの「A.jsp」ジャンプしたら表示されないです。エラーメッセージは出ます。
「javax.servlet.ServletException: Cannot retrieve mapping for action /test_action」
というエラーが表示されます。たぶん、メインの「struts-config」にactionを書けYO!ってことなんでしょうけど、
それじゃ分割の意味がないと思うんです。分割したままでうまくいかせるにはどうしたらいいでしょうか。
0182あぼーん
NGNG0183181
03/07/18 11:51ID:???A/top.jspの
<html:form action="/test_action">
(以下略)
ですが、
<html:submit 〜
ボタンで、処理を行いたいと思っていまます。参考ページでは、全部
<html:link page="/test_action.do">とべ</html:link>
で処理を行っています。だので、<html:link>を使った方法はわかるんですけど、
<html:form>内の<html:submit>を用いた方法が全くわかりませんです。はい。
よろしくお願いします。
0185145
03/07/18 12:58ID:Y7RkANYhA/top.jspにブラウザで直接アクセスしてるんなら当然の結果。
struts-config.xmlを分割した場合、Struts内部でモジュール(サブ
アプリケーション)も切り替える必要がありますが、Actionクラスを
経由しないルートだとそれが行われません。
struts-config.xmlを分割するんならJSPには直接アクセスさせないで
必ずActionを経由するようにするのが一番楽です。
どうしてもJSPに直接アクセスさせたいなら、
org.apache.struts.actions.SwitchActionを使ってA/top.jspに
フォワードするようなaction定義をstruts-config.xmlに記述しておいて
index.jspからはそのアクションへ飛ぶようにします。
詳細は以下のスレッド参照。
http://www.freeml.com/message/struts-user@freeml.com/0002205
0186181
03/07/18 14:14ID:???ありがとうどざいました!
<action path="/Go_A" forward="/top.jsp" />
を用意したら、うまくゆきました!
最初はこれを「struts-config」内に用意していたのですが、
「struts-config-A.xml」内に移植して「index.jsp」を
<html:link page="A/Go_A.do">とんでゆけ、まず最初に</html:link>
と書き直したら、うまくいきました。本当に感謝です!!( ´∀`)ノ
>>184
スマソ
0187あぼーん
NGNG0188あぼーん
NGNG0189nobodyさん
03/07/20 04:49ID:???とりあえずお互いに頑張りましょう。
以下内輪的メッセージです。
Strutsだと作業効率さらに悪くなるような。メリットより総合的
デメリットが多いように感じます。今までがJAVA環境ならともかく
殆どJAVA経験がない現場でいきなりStrutsはどうかと。確かに今までの
環境もどうかと思うが、それ以前にプロジェクト管理体制が変わらない
限り同じ事の繰り返しじゃないんかな。
0190nobodyさん
03/07/20 10:36ID:???それは危険かも・・・
Strutsは「難しいところを隠蔽してよくわかっていない人でもそれなりのものが作れてしまう」フレームワークではないと思う。
今のところは「わかっている人が楽をするため」「わかっている人同士で実装方針を統一するため」にしか使えないような・・・
0191nobodyさん
03/07/22 16:10ID:???ActionForm を管理する機構をなんかしら持っていれば効率も上がるど、
なにかしらの作業を定型化するツールとかテンプレートか、少なくとも作業ルールがないと、
導入したことに対するリターンは得られにくいと思うよ。
特に struts-confix.xml が肥大化していくと、 struts-config.xml と
ActionForm と Action を一括で管理するデータベースがほしくなる。
というか今作ってる。
元はExcelマクロ程度のものだったのに今じゃ Excel + ODBC + MySQL と、
むしろこっちが肥大化していく悪寒。
0192145
03/07/22 17:11ID:jz0NlCfl0193nobodyさん
03/07/22 17:28ID:hpMBis3j.aspという拡張子ファイルなのですが(内容はアプリと思われる)これは単体で
リネームなどして実行ファイルとして使えるものでしょうか?
検索かけてもどうも分かりません。
イメージファイルのようなものでしたら変換ソフトも教えて下さい。
お願いします。
0194nobodyさん
03/07/22 18:06ID:???すれ違い。.aspはActiveServerPagesといって、MicroSoft謹製の
Webサーバ「IIS」上で動作するスクリプト言語のソースファイル。
Javaとは無関係だよ。
0195193
03/07/22 18:28ID:hpMBis3j失礼しました。IISスレ探してみます。どうもでした。
0196あぼーん
NGNG0197nobodyさん
03/07/29 11:01ID:???0198ぼるじょあ ◆ySd1dMH5Gk
03/08/02 04:53ID:???ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0199nobodyさん
03/08/31 02:49ID:ZzExwvfl0200nobodyさん
03/09/15 14:46ID:???0201nobodyさん
03/09/15 14:51ID:???「新しいモノ」としての注目を集める時期は過ぎたってことでしょ。
今はある意味知っていて当然というか。普通に使えて当たり前というか。そんな時期にさしかかった頃合い。
0202nobodyさん
03/09/15 18:49ID:aiY7K6keStruts 1.1 リリースから、まだ3ヶ月ぐらいだけどね。
0203nobodyさん
03/09/16 13:47ID:mxgE1Vm0Struts 1.1 リリースまで、1年4ヶ月くらいだけどね。
0204nobodyさん
03/10/11 00:52ID:rdHrqAWa0205nobodyさん
03/10/11 01:33ID:???0206nobodyさん
03/10/11 17:18ID:jPButUb50207nobodyさん
03/10/16 08:35ID:3FdVo5FIドキュメントにするようなツールはありますか??
0208+++
03/10/16 09:37ID:???Scioworks? Caminoというのを使えば、Actionの遷移を図に表示できるらしい。
http://www.scioworks.com/scioworks_camino_features.html
というか、これはstruts用開発ツールなんだけど。
0209nobodyさん
03/10/17 07:52ID:N1Edic2xTHX。
いま後付けでプログラム仕様書を作成しているのだが、
struts-config.xmlってコメントを書き込む要素が無いのが辛い・・・。
0210nobodyさん
03/10/20 00:45ID:???XML なんだから、いくらでもコメントかけると思うが?
0211nobodyさん
03/10/21 22:44ID:???EasyStrutsちょっと使ってみたんだけど、どうもいらんことしすぎてくれてありがた迷惑って感じなんで、
コード補完してくれるとかシンプルなのがいいんだけど。
0212nobodyさん
03/10/22 07:13ID:ihc8onaFJSPには <bean:message> をひたすら書いていたんだけど
「何でそこまでするの?」「(どうせ日本でしか使わないアプリなのに)意味あるの?」と聞かれて
答えに詰まってしまいました…。
何か説得力のある答えってないですかねえ。
0213nobodyさん
03/10/22 08:20ID:pWZ5PAp/文面などを代えた時に、テストが不要。
0214nobodyさん
03/10/22 22:57ID:???文言の不統一防止。
変更箇所の局所化。
あと、カスタマイズすれば、例えば、標準語リソース、関西弁リソース、
ひらがなリソースを切り替えとかできる。
0215nobodyさん
03/11/07 23:48ID:???0216nobodyさん
03/11/19 14:26ID:???strutsするならこの本嫁!!
みたいなバイブルはありますか?
0217nobodyさん
03/11/19 18:03ID:???STRUTS・イン・アクション
http://www.amazon.co.jp/exec/obidos/ASIN/4797323442/
本来なら洋書を読んでほしいところだけでアマゾンJPだと在庫がないので。
この本は洋書だと一部がPDFでネットに転がっていますが、はっきり言ってこれ以外いらないかと。
発売日まで待つ価値はあります。
0218nobodyさん
03/11/19 18:32ID:???12月発売なら今から始めてちょうどその本を読めるくらいになっているかも(なっているといいなあ)。
これ以外で、これから始める人向けの手軽でわかりやすい本はありますか?
0219nobodyさん
03/11/19 19:02ID:???パターン別に列挙
●安くすませる
Eclipseパーフェクトマニュアル Vol.2
ttp://www.amazon.co.jp/exec/obidos/ASIN/4774118346/
Jakartaプロジェクト徹底攻略
ttp://www.amazon.co.jp/exec/obidos/ASIN/4774115614/
この辺が基本。Eclipse本に関してはStrutsとの連携で特集があるのでこれを1週間くらいでサンプルをこなせばかなり理解できる。
●そこそこ
Jakartaプロジェクト カンタン Struts
ttp://www.amazon.co.jp/exec/obidos/ASIN/4798005495/
漏れは持ってないが、立ち読みして見た限りだと1.1のネタが多くていいとおもった。
入門書という点では出版社はそう位置づけているが個人的に意見では微妙。
●Strutsでこれからも食っていくならかっとけ
プログラミングJakarta Struts
ttp://www.amazon.co.jp/exec/obidos/ASIN/4873111358/
言わずとしれたオライリー本。会社に転がっているがいざというとき重宝する。
ただ、このほんの欠点はこの本を理解して活用できるまでにそれなりの理解が必要と言うこと。
これ以外にJavaの経験がないならJavaの本も必須。
で、重要なことだけど都会に住んでいるならその手の書籍が置いてある店に行ってStruts関係の書籍を
1冊づつ品定めすること。
結局のところ、どれが正解ってのは無くてその人の感性によって異なるから。
東京にいるなら、秋葉原のLAOXのCOMPUTER館6Fの書籍コーナー(21時までやってるから便利)や
書泉などの比較できる本屋に行って見るべし。
あと、このStrutsには「手軽に」ってのはない。基本だけど基礎をしっかりやっておかないと
すぐに破綻します。なので、本を買うときも「じっくりやるぞ」と言う気持ちで探してください。
(実際漏れもそのへんで苦労した。最終的な問題点は基礎ができていなかった) ガンガレ
0220nobodyさん
03/11/19 19:41ID:???Struts in Action は微妙・・・
あれ全部読んだ?
はじめから読み進めないと後ろの方はわからない流れになっているよ・・・
>>219
カンタンStrutsはそっちは1.1RC1対応だね。1.1final対応の改訂版出てるよ・・・
http://www.amazon.co.jp/exec/obidos/ASIN/4798006041/ref=sr_aps_b_4/249-2769525-9877126
これからStrutsを始める人にはこれもいいよ
http://www.amazon.co.jp/exec/obidos/ASIN/4756143075/qid=1069238442/sr=1-9/ref=sr_1_2_9/249-2769525-9877126
ただ、StrutsはServletやJSPを使いこなせることが前提。
わからなくても使えてしまう魔法の箱ではない。
基礎がないとStrutsは使えないよ
0221217 219
03/11/19 20:09ID:???漏れは、はじめから読んでないっす。
PDFで公開している12章13章については読んだけど、Validate機能とTilesに関してはよくまとめてあった。
洋書版ほしかったけど、アマゾンJPじゃ在庫切れだから、、、さすがに、アマゾンCOMに注文するまではいってない。
なので、日本語翻訳版で確認してみます。
かんたんStrutsに関しては改訂版はチェックしてなかった、、、
220の話でもあるけど、StrutsほどJava、JSP、Servletの基礎が重要なものはないと思う。
のくせに、「Strutsを使うと管理が簡単に〜」という謳い文句を聞くとホント首かしげますね。
0222218
03/11/24 15:43ID:???たまたま適当に買ってみた本がその「カンタンStruts1.1」でした。ラキー。
ただ、
「StrutsはServletやJSPを使いこなせることが前提。」
に私はちょと心許ない。まずはJSP, Servlet本探しからですか。
Strutsつかいへの道は遠いですな。
0223nobodyさん
03/12/03 01:12ID:eqfPDL25知ってる人います?
0224+++
03/12/03 05:57ID:???こういうのでいいのかどうだかよく判らんけど、
<%@ page import="org.apache.struts.action.ActionErrors" %>
<%@ page import="org.apache.struts.Globals" %>
<%
ActionErrors errors = (ActionErrors)request.getAttribute(Globals.ERROR_KEY);
if( errors!=null ){
int e_size = errors.size();
out.println("<p>" + Integer.toString(e_size) + "</p>");
}
%>
<html:messages>タグでどうにかできないかな、という感じもする。
0225+++
03/12/03 06:07ID:???行われてないから、初心者にはツライだろうと思った。疑問の残る構成。
改訂版はどうなんだろうね。それも見て判断したほうがいいと思う。
0226223
03/12/03 22:59ID:eqfPDL25おお、まさにソレです。ありがとうございます。
重要な情報はGlobals.定数キーで引っ張れると。メモメモ。
APIリファレンスを全部読んでいればわかることだったのかなぁ。
strutsのソースまで読んでいる人ですか?
0227223
03/12/03 23:05ID:eqfPDL25<action path="/test_action" name="test_FB" type="(略)">
<forward name="success" path="/result.jsp" />
</action>
</action-mappings>
というので、path指定は$WEBAPPからのフルパスなのって、そういう仕様なんでしょうか。
相対パス指定しようとすると「/で書け」とJSPコンパイラに怒られる。
0228nobodyさん
03/12/04 00:11ID:???path指定ってのはfowardタグの属性のpathのこと?
struts-configのアクションマッピング自体がどこからでも
呼び出せるものだからそうなるんじゃないの?
0231nobodyさん
03/12/11 19:54ID:JRpQVx5xことってできるの?普通にやったらStrutsタグそのままが出力されてしまったよ
それとも俺無駄なことしようとしてるかしらん?
0232nobodyさん
03/12/11 20:16ID:???できません。無駄です。
この>>25-29 あたりと少し似た話ですね。
「Strutsタグ」と書いてますが、これはJSPのカスタムタグの一種にすぎません。
JSP自体の仕様を理解するのが吉。
↓とその続きなど読めばよろしいかと。
http://www.techscore.com/tech/Java/JSP/3.html
0233nobodyさん
03/12/12 11:06ID:???テンプレートなんかに全部押し込みたいんだが。
0235nobodyさん
03/12/21 18:11ID:???このレスを見た人はコピペでもいいので
10分以内に3つのスレへ貼り付けてください。
そうすれば14日後好きな人から告白されるわ宝くじは当たるわ
出世しまくるわ体の悪い所全部治るわでえらい事です
0236nobodyさん
03/12/24 23:17ID:???本でもOKです。
0237236
03/12/26 23:18ID:???TomcatのAdministration ToolがStrutsを使用していました。
MemoryRealm使っていて丁度いいサンプル。
残念ながらTomcat4.1.29はStruts1.0でしたが。。
0238235
03/12/27 18:18ID:???偽235
0239nobodyさん
04/01/04 05:06ID:mf+7Ni9JHTTP Status 500 -
org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
java.io.FileNotFoundException: /usr/local/jakarta-tomcat-4.1.27-LE-jdk14/work/Standalone/localhost/struts-example/index_jsp.java (Permission denied)
と出ます。
index.jspのパスは/home/arata/tomcat/webapps/struts-example/index.jspなので上と違う気がするのですが…
教えて頂けたら幸いです。
0240239
04/01/04 05:12ID:mf+7Ni9Jwebappsディレクトリ配下にあるwarファイルを
CATALINA_HOME\webapps配下に設置しました。
特に他にやることはないはずなのですが…
0241nobodyさん
04/01/04 05:16ID:???エラーメッセージに「Permission denied」とあるとおり。
パーミッションの問題。
TomcatのworkディレクトリにTomcat実行ユーザの書き込み権限がないため。
なぜindex.jspがあるディレクトリと違うディレクトリでエラーになるのかは
Struts以前にJSPの勉強が必要。ヒントは、
ファイル名が「index_jsp.java」になっていること。
0242239
04/01/04 06:16ID:mf+7Ni9Jパーミッション変えたら出来ました!ありがとうございます。
最近Linuxをいじり始めたばかりで…ご迷惑かけました。
ヒントの部分なんですが、「index_jsp.java」というのは
javaファイルに変換されて、work上でコンパイルされているということで、
このとき書き込みできないとコンパイルしようがないってことですかね?
0243nobodyさん
04/01/04 22:45ID:???鞍替えしますた。
0244nobodyさん
04/01/07 02:45ID:???おっそろしく楽だな。
0245nobodyさん
04/01/10 15:18ID:qk2y/XVpA(条件画面)→B(詳細画面)に画面遷移するとき、
Bの画面に必要な情報を取得するロジックやらSQLは、
AとBのアクションクラスのどっちに書けばいいの?
今やってるプロジェクトでは、
1)A画面のリンクを押すと【A.doにForward】
2)Aのアクションクラス
1) SQLのキー情報をbeanにセット
2) 【B.do にForward】
3)Bのアクションクラス
1) beanからキー情報取得
2) SQL発行〜BのFormBeanにセット
3) getInputメソッドでB.jspを取得してそこにforward
なんだけど、これって1動作に「.do」を2回通ってるから、
アクションの連鎖というやつなのかな?
アクションの連鎖は「struts in action」という最近出た本によると、推奨されてない
ようだけど…どうなんだろ。
皆さんのフレームワークではどうやってますか?
0246nobodyさん
04/01/10 22:05ID:???0247nobodyさん
04/01/11 11:39ID:urpDrM8h>A画面からB.doへ跳ばさないのはなぜだ?
やっぱり変なんですかね?
うちの社内のフレームワークはこれが標準になってるみたいです。
ちなみにかなりの大規模プロジェクトです。
メリットとしては、
・1画面(jsp)につき1アクションクラス、という解り易い構図ができあがる。
例えばB.jspの画面作成ロジックはB_Action.javaにある、みたいな。
※通常のやり方だと、B.jspの画面作成ロジックをA_Action.java
に書くのでわかりにくい。
逆にデメリットとしては、
・遷移先のjsp名を次の画面のgetInputで取得している、
つまりstruts-configの <forward> ではなくて <Action input=> で
取得しているので、strutsの標準的な使い方ではなくなっている(?)
ことかな?
0248nobodyさん
04/01/11 11:53ID:urpDrM8h1画面につき1アクションクラス、というのは具体的にはこうです。
・<global-forwards>はこんな感じ
<forward name="A" path="/A.do">
<forward name="B" path="/B.do">
・<action-mappings>はこんな感じ
<action path="/A" type="A_Action" input="/A.jsp" name="A"/>
<action path="/B" type="B_Action" input="/B.jsp" name="B"/>
A画面のボタンを押したら、
(1) A.do にサブミット
(2) A_Action実行 → findForward("B")
(3) B.do にフォワード
(4) B_Action実行 → getInputで "B.jsp" をゲット
(5) B.jsp 表示
てな動きです。
こういう使い方は邪道なのでしょうか?
0249nobodyさん
04/01/11 12:21ID:???0250nobodyさん
04/01/11 15:01ID:???1画面につき1アクションクラス、というのは
「jspにたどり着くためには*.doを経由させる」ということで
kuso.do→kuso.jsp
unko.do→unko.jsp の時の遷移は
kuso.doにリクエスト→kuso.jsp表示→
kuso.jspからunko.doにリクエスト→unko.jsp表示 なのであって
「*.jspの送信先がそのjspに対応するアクションクラス」というのは
つまりあれだ、
氏ね
0251nobodyさん
04/01/11 15:05ID:???つーか確かに最初はよくワカランが、
2、3日〜長くても一週間もあればぼんやりと全体像は見えてくるだろ?
少なくとも画面遷移の仕方とかさ。
カスタムタグの種類や使い方がおぼつかない、というのならまだしも。
0252nobodyさん
04/01/11 18:16ID:???>>244でも使えば?
GUIで設計できる上に遷移図の印刷も出来るから
自分らがどんだけクソな作業してるか実感できると思うよ。
0253248
04/01/11 22:13ID:p9BR0Sf1でも、この設計でだいぶ開発が進んでいるので、
再設計しての後戻りはできそうにないんです。
動きに問題がないのであれば、このまま行くしかない…(;_;)
0255nobodyさん
04/01/12 15:03ID:qVNFm6x60256nobodyさん
04/01/15 00:31ID:viAU4C2Jイクリプスで、すべて再ビルドを選択すると
ApplicationResourcesが文字化けしてしまいます。
原因はソースフォルダ直下にApplicationResourcesを置いているからなのですが、
良い管理方法が見つかりません。
指定したファイルを削除しないで「すべて再ビルド」、又は
指定したファイルにだけnative2asciiを当ててくれる
みたいな方法ってありますか?
EasyStrutsやらのプラグインを入れれば解決したりするんでしょうか。
そもそもソースフォルダにApplicationResourcesを置いているのが間違いでしょうか・・・
良い管理方法をご教示ください。
Tomcat,winXP,eclipse2.1,struts1.1
0258nobodyさん
04/01/15 13:02ID:???0259nobodyさん
04/01/17 03:37ID:???しかし、一体何をやっているか、わけがわからんかった。
現在、Eclipse+Struts Studio。もう効率はいいし
Struts StudioのおかげでStrutsの全体像もつかめて
何をやっているか意味がわかるようになった。
>>245なんかを見てると、去年の自分を見ているようで歯がゆい。
0260nobodyさん
04/01/17 12:02ID:???ひょっとしてそれ使わんとできへんこと多い?
0261nobodyさん
04/01/17 12:44ID:???0262nobodyさん
04/01/18 20:53ID:???別に全く使わなくても問題なし。
0263nobodyさん
04/01/19 20:13ID:???なんだ。Strutsを「いじくり倒す」といいながらそれだけの技術力もなく、
現行のStrutsに「粘着する人」の為のスレでしたか。
いじくり倒してんなら分かるだろ?
0265260
04/01/19 21:54ID:???0268singles
04/01/20 14:42ID:vmpc82Q3「かんたんStruts 」にはやられた。
本当に改訂版?
CD付きなのに、全ソースじゃないし。
実行時エラーは出るし。バグだらけだよ。
やすがにコンパイルエラーはなかったけど。
損した!!
0269nobodyさん
04/01/22 20:16ID:???c:forEach でコレクションをくるくるってのがStrutsでできません。
自動生成されたjavaのソースを見ると、itemsに設定したものが
コレクションとしてでなく文字列として渡されてしまいます。
0270nobodyさん
04/01/22 20:23ID:???あともしStrutsのタグライブラリを併用しようとしてるなら出力時はelを使わねぇと出ねぇぞ。
<bean-el:write 〜/> など。
しかもサーブレット2.3からじゃないと動かない。
0271nobodyさん
04/01/22 21:55ID:???それともStrutsの次期バージョンには興味がないのか。
0272nobodyさん
04/01/22 22:52ID:???JSTLがうまく使えないっつうのなら、スレ違いだろ。
0273nobodyさん
04/01/23 09:41ID:???0274nobodyさん
04/01/23 20:45ID:???0275nobodyさん
04/01/24 23:56ID:NRU8Gq4U変な掲示板
0276nobodyさん
04/01/25 00:18ID:56Ciihh9なんか糞
0277nobodyさん
04/01/27 09:45ID:DNV4wH9rstruts初心者です。
BBS作ってるんですけど、どうやら自動で
ResponseUtils.filterを通されてるらしくて
改行を<br>に置き換えたりとかしたいんですけど
すべて
& → &
みたいな感じで変換されちゃってそのまま表示
されてしまいます。
なんとかこいつを黙らす方法ないでしょうか?
0278nobodyさん
04/01/27 12:40ID:???<bean:write ... filter='false'/> でどうよ?
http://www.janit.com/TechnoInf/Java/Struts1.1b3/userGuide/struts-bean.html
0279nobodyさん
04/01/27 22:45ID:XpbhJdiOすみません。
<bean:write name="onemsg" property="msg" filter='false'/>
でやってみたんですけど、駄目でした。
<pre><bean:write name="onedata" property="msg" filter='false'/></pre>
はできはするけど力技っぽくてプログラム的に美しくないとか思うのは思い上がりですかね?
0280nobodyさん
04/01/27 23:14ID:???ちょっと待て。
<pre>で囲ったって、&amp; をそのまま表示はできないぞ。
まさかと思って IE6 と Mozilla 1.6 で表示してみたが、
やっぱり &amp; は &として表示される。
とりあえずここ読んどけ。あと、実体参照という言葉を覚えろ。
http://mind.f.fiw-web.net/program/perl/tips0506.html
http://east.portland.ne.jp/~sigekazu/html/entities.htm
0281nobodyさん
04/01/27 23:14ID:XpbhJdiOすみませんでしたm(_ _)m
大ボケかましとりました。
<bean:write ... filter='false'/>
でいけました。
どうもありがとうございました。
0282nobodyさん
04/01/28 22:12ID:15MYH/xw言われ始めているけどどうなんだろう。
下の記事、議論を巻き起こしています。英語だよ。
ttp://today.java.net/pub/a/today/2003/12/11/mvc.html
0283nobodyさん
04/01/29 09:20ID:???0284nobodyさん
04/02/04 19:53ID:???ってどっかにないですかに
0285nobodyさん
04/02/04 19:54ID:LrI+0eVy0286nobodyさん
04/02/04 19:55ID:???0287nobodyさん
04/02/05 05:33ID:g7RFhJQThttp://www.ingrid.org/jajakarta/struts/struts1.0/ja/target/documentation/struts-logic.html#iterate
0288nobodyさん
04/02/05 14:24ID:???それとも使わないほうがいい?
いろいろな面から意見を聞きたいです。
0289nobodyさん
04/02/05 16:42ID:???実はスクリプトレットで書いちゃった方が楽だけど、無理してる。
0290nobodyさん
04/02/22 05:30ID:???もうサーバー移転して半年にもなるので、こっちにしようよ。
ttp://www.jajakarta.org/struts/struts1.0/ja/target/documentation/struts-logic.html
ただ、>>284が求めているサンプルはそこにはない模様。
<logic:iterate id="hage" name="hoge">
<logic:iterate id="mage" name="hage" property="mages">
<bean:write name="mage" property="moge" />
</logic:iterate>
</logic:iterate>
みたいなことをしたい?
0291nobodyさん
04/03/01 04:14ID:Durte6J60292nobodyさん
04/03/01 16:14ID:???0293nobodyさん
04/03/01 19:47ID:Durte6J6じゃあ、せっせとソースを直すか。
DataSource ds = getDataSource(request);
↓
DataSource ds = (DataSource)(new InitialContext()).lookup("名前");
しかし deploy 後に server.xml いじるの面倒だ・・・。
0294nobodyさん
04/03/01 21:31ID:???0295nobodyさん
04/03/01 21:53ID:GYV1jZxP0296291
04/03/02 01:17ID:???[HttpProcessor[8888][4]] FATAL - [javax.naming.NamingException: Cannot create resource instance
at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:167)
って言われるよ・・・
0297nobodyさん
04/03/02 01:34ID:???0298nobodyさん
04/03/02 03:18ID:???0299291
04/03/02 03:34ID:AJ5+7psc0300291
04/03/02 03:36ID:AJ5+7psc0301nobodyさん
04/03/02 08:46ID:???そうか?
0302nobodyさん
04/03/02 08:54ID:nO+c0QMf0303291
04/03/02 10:33ID:???>>302 HIBERNATEが最強に分かりません。ORマッピングって何?
http://wiki.bmedianode.com/Hibernate/
http://www.hibernate.org/
0304nobodyさん
04/03/02 11:14ID:???Java⇔RDBのMapping-Frameworkを語るスレ
http://pc2.2ch.net/test/read.cgi/tech/1049030272/
0306291
04/03/02 11:36ID:AJ5+7psc0309291
04/03/02 17:40ID:AJ5+7pscHIBERNATEって、SQL ラッパーみたいに捕らえていいの?
詳しい人の説明をお願いします。
0310nobodyさん
04/03/02 17:50ID:AJ5+7psc0312nobodyさん
04/03/02 19:32ID:???DBアクセスレイヤーをもうけることで、役割が明確になり、
DB依存性を排除できる。理想は。
Hibernate だったらトランザクションやキャッシュ機構、
XML から Bean 生成、DB スキーマから Bean 生成、
スキーマ& Bean からXML 生成などがある。
0313nobodyさん
04/03/02 20:37ID:???さらに細かいことやりたいなら、HQLっつーSQLライクな記述でゴリゴリできる。
柔軟でいいよね。
たいがいのO/Rマッパーは、スキーマからJavaクラス作るときに、XML書いたり
XDoclet用のタグ書いたりとめんどくさいのに、jFaceDbc使えば、
既存のスキーマをリバースして、Javaのソースまで作ってくれるのが、(・∀・)イイ!
0314291
04/03/02 21:09ID:???しかし、食わず嫌いは良くないので、近い将来試してみる(予定)
0316291
04/03/02 23:03ID:AJ5+7pscDbUtils ですね。調べてみます。
>しかし数千バイトの SQL って本当に必要か疑問。
正規化されたテーブルから、レポートを一発で出そうとするとクエリーが複雑になりますね。
そして、複雑なストアドを書いたりすると、もっと多くなる予感。
0317nobodyさん
04/03/02 23:16ID:???0318291
04/03/02 23:24ID:AJ5+7psc0319Gon_Yuri
04/03/03 14:58ID:???Struts環境下でSessionをオブジェクトに格納した場合、
TokenIDなるStruts固有のIDなるものがattachされるのですか?
(もし存在するのであれば)またそれってなんのためにあるんでしょうか?
すみませんがご教示お願いいただけないでしょうか、みなさまがた。。
0320nobodyさん
04/03/03 15:03ID:mGkaH2Ir「トークン」は、二重押し防止機能。
0321Gon
04/03/04 15:35ID:???ですが、セッションに格納するのに二度押し防止というのは
状況が良く分からないのですが、たとえばどのようなケースでの話しなのですか?
0322nobodyさん
04/03/04 15:40ID:???これってブラウザで何らかの処理をしたあとに戻ってしまったときに、
もう一度その処理をしてしまわない(たとえば入金など)ようにするための
するという話でしょうか?
0323nobodyさん
04/03/04 16:33ID:MDOKWyiLhttp://muimi.com/j/jakarta/struts/struts5.html#SyncToken
0324nobodyさん
04/03/04 18:33ID:+Av049LBそゆこと。
書き込みボタンをダブルクリックしたら、2重投稿になる掲示板とかもあるよね。
ああいうの防止にも使えるし。
複数画面にわたった処理がある場合に
途中の画面でブックマークされて後日そのブックマーク使ってアクセスされた場合にも
システム側でトークンの有無を見てたら、どこかの画面に飛ばしたりもできる。
色々便利ですよ。
0325nobodyさん
04/03/06 06:16ID:Ag2/McPyhttp://www.atmarkit.co.jp/fjava/rensai3/struts03/struts03_1.html
しかし、StrutsのFAQには、以下のように明示されています。
http://jakarta.apache.org/struts/faqs/database.html
"The DataSource manager is being retained in Struts 1.x for backward compatibility but may not be retained in Struts 2.x or later."
山田祥寛氏と@ITは、どういう意図で紹介しているのでしょうかね・・・
0326nobodyさん
04/03/06 12:35ID:???0327nobodyさん
04/03/06 14:16ID:???Actionクラスから画面にメッセージを出力する場合の最適な方法って何?
Beanに詰めてJSPで出力が妥当かな?
0328nobodyさん
04/03/06 17:51ID:???・Action#saveErrorsを使う
・struts-config.xmlにexception要素を定義して、Actionからは例外を投げる。
・MyActionBase extends Action とかして俺様メッセージ表示機構を作る。
・自前のRequestProcessor用意して何かできるかも。
・その他
何が最適かなんて一概には言えないでしょ。
0329nobodyさん
04/03/06 19:23ID:???0330nobodyさん
04/03/07 01:53ID:???メッセージが必要なだけならBeanに詰めてJSPで出力(<bean:write/>)
0331nobodyさん
04/03/07 02:47ID:???@ITはM$好きであることと、山田某が.NET、Javaかまわず何でも書いてる奴
であることを考えると、@ITはJavaを潰そうとしているのではないか?w
しかし、山田某、見境無いなあ・・・。金ないのか?
0332nobodyさん
04/03/07 03:08ID:???0333nobodyさん
04/03/10 00:18ID:Y4AzoxeC0334nobodyさん
04/03/10 23:41ID:???EJB 自体があまり使われてない。EJB が目的ではない?
http://pc2.2ch.net/test/read.cgi/tech/1036481443/
もちろんまったく使われてないわけではないので
技術者として習得する価値はある。
0335nobodyさん
04/03/11 20:58ID:???でもServletだけでは限界を感じるしなあ。
0336nobodyさん
04/03/11 23:27ID:???レイヤが違うもので限界を感じるっていわれても意味が分からん。
ORマッパーをどれかひとつと言われたら Hibernate。 間違いない。
0337nobodyさん
04/03/12 03:25ID:5qVN4VSs>>336 Hibernate を熱く語っているね。
0340nobodyさん
04/03/13 20:05ID:OCTfOcMT0341nobodyさん
04/03/13 20:57ID:1bZkOokWフォーム名は分かるから、JavaScriptでonclickでイベントを拾えばどうにかなるかも。
やるべきではないと思うけどね。
0342nobodyさん
04/03/13 21:23ID:OCTfOcMT<html:link action="/add" onclick='document.forms["turnover"].submit();'>[ADD]</html:link>
0343nobodyさん
04/03/13 22:15ID:???<html:checkbox name="..." property="..." disabled="${変数}" />
みたいな。
resinでは使えたけどweblogicでは使えなかった。
0344nobodyさん
04/03/13 22:33ID:???0345nobodyさん
04/03/13 23:15ID:OCTfOcMT0346nobodyさん
04/03/19 03:27ID:???<html:link>つかう必要ないだろ
<A>で良いだろ
0347nobodyさん
04/03/19 21:20ID:???0348nobodyさん
04/03/20 05:19ID:???0349nobodyさん
04/03/20 11:15ID:???0350nobodyさん
04/03/20 14:14ID:???0352nobodyさん
04/03/20 14:41ID:???0353nobodyさん
04/05/15 13:04ID:iT9NId+Gセッションオブジェクト使用不可な条件なんですが、これって自縄自縛っぽい状態なのか?
0354nobodyさん
04/05/15 13:29ID:???その制御を楽にするためのStrutsじゃないの?
あとそれとセッションオブジェクト使用不可な条件と何が関係あるの?
0355nobodyさん
04/05/15 22:18ID:???Strutsは確か、セッションを使用しないとダメじゃなかったか?
0356tommy
04/05/17 10:43ID:UlYZTV/Rあったら教えてもらえませんか?
0357nobodyさん
04/05/17 20:46ID:???http://sourceforge.net/project/showfiles.php?group_id=49385&package_id=80917
0358nobodyさん
04/05/29 04:18ID:???それも2バイト文字を参照して内部動作を分岐させているよう
なのだが・・・。
Strutsではそれが普通なのか?まったく解せないでつよ(困惑
0359nobodyさん
04/05/29 11:42ID:???0361nobodyさん
04/05/29 21:45ID:???>>358 Struts作ったやつらははじめ2バイト文字のことなんか
考えてなかったのだが後になってあわてて2バイト対応したためと思われ。
0364nobodyさん
04/05/31 23:10ID:???strutsでそんな機能があったはずだが。
0365nobodyさん
04/05/31 23:18ID:???Struts の org.apache.struts.actions.LookupDispatchAction の話じゃないのか?
0366nobodyさん
04/06/11 14:14ID:pbSttBHhStruts1.1でValidatorを使ってるんですが、
JSPで1つのacitonの中に更新ボタン、クリアボタン、戻るボタンがあります。
更新ボタンが押されたときはValidatorで入力チェックを行い、
他のボタンが押された場合はValidatorが効かないようにしたいのです。
今後携帯にも展開する予定なのでJavaScriptは極力避ける方針なのですが、
どのようにすればよろしいでしょうか?
actionを分ける事も考えたのですが、改行されていまうため、悩んでいます。
0369366
04/06/11 15:52ID:???propertyに値を指定するとValidatorを回避できないようですが、
1つのaction内にhtml:cancelを複数設置して、actionクラス側で判定する事は可能ですか?
0370366
04/06/11 15:54ID:pbSttBHh0372366
04/06/11 17:57ID:pbSttBHhありがとうございます。
試してみますm(_ _)m
0375nobodyさん
04/06/13 00:03ID:???0376nobodyさん
04/06/16 23:51ID:zsyyEODZそこで、例えば検索結果が100件あったとして、そこから30件ごとに分け、googleのように次の〜件
とするには、どうすればいいでしょうか?
iterateでlengthの値を30にしても、30件しか、もちろん表示されません。
いったい、どうすればいいのかわからないです。
難しいですが、分かる方は、ぜひ教えて欲しいです・・・・・・。
0377nobodyさん
04/06/17 00:11ID:???>iterateでlengthの値を30にしても、30件しか、もちろん表示されません。
30件ごとに分けたいんだろう。なのに
>30件しか、もちろん表示されません。
というのはおかしい。
言いたいことはわからないでもないが、人にものを伝えるときはもっと気を遣え。ばか。
offsetつかってスタート地点を決めればいいだろが馬鹿莫迦バヵ
0378376
04/06/17 00:28ID:jy0PTqdkマジツッコミ、サンクスです。
offsetでスタート決めるのはわかりますが、offsetの値を動的に変えるにはどうしたらいいでしょうか?
あと、submitで「次の30件を表示」などを用意して、遷移先を、検索結果が表示されてる、今いるこの画面に
次の30件を表示する方法がわからないです・・・。
説明下手でスマソなのですが、宜しくお願いします〜・・。
0379nobodyさん
04/06/17 12:37ID:???logic:iterateタグの説明をよく読みましょう。
ttp://jakarta.apache.org/struts/userGuide/struts-logic.html#iterate
ポイントはoffsetに指定するのはInteger型のJSP Beanということ。
ちなみに、ドトネトにはDataGridコントロールがあるので、
この辺はすごく楽だねえ・・・。
ところで、普通の画面は作れるの?まずはそこから始めた方が・・・。
0380nobodyさん
04/06/17 20:07ID:???http://jsptags.com/tags/navigation/pager/index.jsp
0381nobodyさん
04/06/17 22:49ID:???ドトネトでなくても、ADOなんかだとページ単位で切り分けるの簡単だよな。
こーいうの標準で用意してくれりゃいいのにね。
>>380
面白いね
0383376
04/06/19 01:47ID:2EKqNUkjJSPBeanがわかんない・・、javaBeanとは違うの?
Beanの値をoffsetにいれても,、次の30件表示のリンクを押してoffの値を、変化させる方法がわかんないです・・。
Servletでもいいので、いいサンプル載ってる所ありませんかね?
ぶっちゃけ、Servretでも、できない・・・。
0384nobodyさん
04/06/19 18:32ID:pMTsomP7ぶっちゃけなんでもいいんだよ。数字(で構成された文字列)が返ればね。
offset="<%=anyBean.getOffset().toString()%>"
でも
offset="<%=anyIntegerInstance%>"
でも
offset="<%=anyIntegerInstance.toString()%>"
0385nobodyさん
04/06/19 18:35ID:pMTsomP7offset="<%= anyBean.getOffset().toString() %>"
でも
offset="<%= anyIntegerInstance %>"
でも
offset="<%= anyIntegerInstance.toString() %>"
でも
0387nobodyさん
04/06/20 09:32ID:pwr2yWDM素直にあきらめた方が賢明かも、、、。まあ、ヒントだけあげるよ。
「次の30件表示のリンクを押してoffの値を、変化させる」には、
どうしたらいいかを考えよう。
まず、「次の30件表示のリンクを押し」たことをサーバ側に伝える必要がある。
まあ、これは「次の30件表示」を行うアクションがあれば
それを呼び出すだけだからできるよね。
ここでつまづいているなら、Hello.worldからやり直し。
で、「次の30件表示」を行うには、まず今どこにいるかを
知ってないといけないよね。現在位置を知っていて、
はじめて「現在位置 + 30」という処理ができる。
で、現在位置を何で管理しようかという話になる。
独自のBeanを定義した方が何かと便利だけど、
まずはIntegerでもいいよ。先頭から始まるから、初期値は0だよね。
何で管理するかは決まったけど、このオブジェクトを
セッションに結びつけないと、毎回新しいオブジェクトを作成してしまって、
ちっともページが進まないということなってしまうよ。
おそらくつまづいてるのはここだよね。
ここがわからないなら、Tomcatについてる簡単なサンプルで
セッションの使い方を勉強するのがいいよ。
基本的なやり方は最初のページが表示されたタイミングで、
新しいオブジェクトをセッションに結びつける。
「次の30件表示」が押されたら、結びつけてあるオブジェクトを+30する。
この数値を利用して、一覧を再表示する。こんなところかな。
0388nobodyさん
04/06/20 11:19ID:???だけど、>>383みたいなのがいるから、全体的なプログラマーのレベルが
低くなるんだよな。
がんばっているというのは良いことだけど、まず本を買え、と言いたい。
0389nobodyさん
04/06/20 11:38ID:???0390383
04/06/20 14:30ID:anBuFkfy今一度、セッションから、勉強し直すことにします。
>>384
>>387
お二人とも、ありがとうございました!!
参考になりましたです。
0391単純形
04/06/20 21:24ID:???public class ProductInputAction extends Action{
public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
HttpSession session=request.getSession(true);
session.setAttribute("offset",new Integer(0));
return mapping.findForward("showList");
}
}
NextPage.java:
public class ProductInputAction extends Action{
public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){
HttpSession session=request.getSession(true);
Integer offset=(Integer)session.getAttribute("offset");
if(offset==null)session.setAttribute("offset",new Integer(0));
else session.setAttribute("offset",new Integer(offset.intVale+30));
return mapping.findForward("showList");
}
}
List.jsp
...
<bean:define id="offset" name="offset" scope="session" />
<logic:iterate id="item" name="lists" offset="<%= offset %>"....
...
0392nobodyさん
04/06/20 21:41ID:???普通はこんな単純にはしないけどね
・全体件数を越えてページ繰りするのを防ぐ
・表示件数を変更できるようにする
・巻き戻しやページ指定ジャンプに対応する
....
というような理由から独自クラスを定義してそれを呼び出すのが普通。
0393nobodyさん
04/06/20 21:51ID:???…は?
どうやるかなんか人それぞれだろ?
0395nobodyさん
04/06/20 23:37ID:???規模にもよるが、全件Listに持ってる時点で疑問に感じるけどね
数万件ヒットしたらどーすんのよ。
基本的に現在位置と表示件数さえ持ってれば済む話だろ。
0396nobodyさん
04/06/21 00:48ID:???独自クラス=全件リストしか思い浮かばないのか?
独自クラスがあれば、インターフェースを整理できるんだよ
bean.init()
bean.prevPage()
bean.nextPage()
bean.jumpPage(int page)
bean.changeLineCount(int count)
bean.getPageCount()
....
0397nobodyさん
04/06/21 01:08ID:???見当違いな問答してんなよ。
0398nobodyさん
04/06/29 22:57ID:???0400nobodyさん
04/07/01 00:35ID:???エクリプス+Struts開発
http://pc5.2ch.net/test/read.cgi/tech/1086356759/
0402nobodyさん
04/07/03 09:06ID:lwtie6Ml1.Opera7.23をクライアントに使うとセッションIDをURL Rewriting
する状態にならないとセッションの特定ができなくなってしまう
らしく、強制的にセッションIDをGETにする方法教えてください。
2.Action経由でBeanで初期値を設定した<html:text>などの入力
フォームを<html:submit>で送信するときに、この画面を表示したま
ま放置してセッションが破棄された後で送信すると、java.lang.
NullpointerExceptionが出るのが、Global Exception の設定で
キャッチするように設定しても捕まえられないので、捕まえる設
定などありましたら教えてください。
==今の設定==
<global-exceptions>
<exception handler="com.hoge.test.exception.SystemExceptionHandler"
key="errors.deadline" path="/WEB-INF/pages/syserror.jsp" type="java.lang.NullPointerException"/>
</global-exceptions>
0404nobodyさん
04/07/04 00:52ID:B3Fr8XMmテンプレートはどこにある?
0405nobodyさん
04/07/04 01:02ID:B3Fr8XMmApache Strutsフレームワークについて語るスレ
△△もまいら漏れにStrutsの良さを教えてください
http://pc5.2ch.net/test/read.cgi/tech/1048030962/
△△つづいて漏れにStrutsの良さを教えてくだっさい
http://pc5.2ch.net/test/read.cgi/tech/1068207164/
0406nobodyさん
04/07/04 01:10ID:B3Fr8XMm△△さらにStrutsの良さを教えて下さいSession3
http://pc5.2ch.net/test/read.cgi/tech/1088870989/
0407nobodyさん
04/07/24 23:55ID:QLmLFMYlstackTrace---
java.lang.NullPointerException
at org.apache.struts.taglib.tiles.InsertTag.processAttribute(InsertTag.java:689)
at org.apache.struts.taglib.tiles.InsertTag.createTagHandler(InsertTag.java:489)
at org.apache.struts.taglib.tiles.InsertTag.doStartTag(InsertTag.java:451)
at org.apache.jsp.aa_jsp._jspx_meth_tiles_insert_0(aa_jsp.java:118)
at org.apache.jsp.aa_jsp._jspService(aa_jsp.java:85)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
aa.jspがtilesのtaglib使ってるJSPです。
tilesのxml----
<tiles-definitions>
<definition name="test" path="/jsp/aa.jsp">
<put name="xxxTest" value="/jsp/bb.jsp"/>
</definition>
</tiles-definitions>
bb.jspはtestとか書かれてるだけです。
0408続き
04/07/24 23:56ID:???<plug-in className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definitions-config" value="/WEB-INF/conf/tiles-defs.xml"/>
<set-property property="moduleAware"value="true"/>
</plug-in>
aa.jsp----
<%@ page contentType="text/html; charset=MS932" %>
<%@ taglib uri="/WEB-INF/taglib/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/taglib/struts-tiles.tld" prefix="tiles" %>
<html:html>
<body>
<tiles:insert attribute="xxxTest"/>
</body>
</html:html>
web.xml----
<taglib>
<taglib-uri>/WEB-INF/taglib/struts-tiles.tld</taglib-uri>
<taglib-location>/WEB-INF/taglib/struts-tiles.tld</taglib-location>
</taglib>
pageContextから値がとれてないようなんだけど、なぜ取れないのかがわからないです。。
0410407
04/07/25 01:45ID:???うん。してない。Action通してaa.jsp呼んでるよ。
0412nobodyさん
04/07/25 01:55ID:???<%@ page contentType="text/html; charset=MS932" %>
<%@ taglib uri="/WEB-INF/taglib/struts-tiles.tld" prefix="tiles" %>
<tiles:insert definition="test" flush="true" />
として、Tiles設定ファイルで定義した"test"という定義を呼ばないとダメ。
0413407
04/07/25 01:55ID:???0415nobodyさん
04/07/25 01:59ID:???<action path="/xxx"
type="xxxAction"
name="xxxForm"
scope="request">
<forward name="xyz" path="test" />
</action>
<controller processorClass="org.apache.struts.tiles.TilesRequestProcessor" />
Struts設定ファイルのcontroller タグでRequestProcessorにTilesRequestProcessorを
使うように指定してあれば、forwardタグのpath属性にTiles定義名を指定できる。
0416nobodyさん
04/07/25 02:03ID:???aaa.jsp内にaa.jspとbb.jspがでてくるような状態になるの?
なんかaaa.jspが無駄のように感じるけど・・。
0417407
04/07/25 02:05ID:???おぉそういうこと!
それでいけそうだ。
ありがとう。
0418nobodyさん
04/07/25 12:03ID:???Strutsで、ボタンをクリックしたら繊維するようにしてるのですが、
その際、一部で空白のページが表示されてしまいます。
開発の中でこのような症状に出会った人いらっしゃいませんか?
もう3日悩んでます(´・ω・`)
知り合い曰く、「フォワード先が見つからないとそうなる」と言われたのですが
JSPで<html:submit property="xxx" />として、
struts-config.xmlで、<action ・・・><forward name="xxx" path="/xxx.html" /></action>
Actionクラスで、return mapping.findforward("xxx")
となっていることは何度も確かめたのですが・・・
0419nobodyさん
04/07/25 15:48ID:???<html:submit property="xxx" />
<forward name="xxx" path="/xxx.html" />
と 3 つ xxx が出てくるけど
0420418
04/07/25 18:49ID:???すいません、ゴチャゴチャにならないように同じ名前付けてるんです(;´Д`)
別の名前をつけるとしたら↓のような感じになるとおもいます。
[JSP]
<submit value="次へ" property="nextpage" />
[Action]
if( form.getNextpage() != null ) {
//・・・・・色々処理
return mapping.findForward("next");
}
[struts-config.xml]
<action ・・・><forward name="next" path="/sample.html" /></action>
JSPの方に問題があるかわからなかったので、ここではデバッグ用に普通のHTMLファイルにフォワードしています。
0421nobodyさん
04/07/25 19:05ID:???0422nobodyさん
04/07/25 21:21ID:???0423418
04/07/26 21:57ID:???サーバ管理者がStruts1.0を入れていたのが原因でした。
私はexecute()メソッドを実装していたので
perform()メソッドに書き換えたら無事動きました。
このようなアホな質問にも真摯に答えてくださった419さん,421さん,422さん
本当にありがとうございました。
0424nobodyさん
04/07/26 22:40ID:YWaIeQt8<definition name="xxx" path="template.jsp">
<put name="aaa" value="insert.jsp"/>
</definition>
[template.jsp]
<%@ page contentType="text/html; charset=MS932" %>
<%@ taglib uri="/WEB-INF/taglib/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/taglib/struts-tiles.tld" prefix="tiles" %>
<html:html>
<body>
<tiles:insert attribute="aaa" beanName="aaForm"/>
</html:html>
[insert.jsp]
<%@ page contentType="text/html; charset=MS932" %>
<%@ taglib uri="/WEB-INF/taglib/struts-bean.tld" prefix="bean" %>
<bean:write name="???" property="date"/>
上記のような状態で、template.jspで指定したBean(aaForm)の中身の値を
insert.jspに渡したいのですが、どのようにtilesの下の属性のJSPに
beanの値を渡せるのでしょうか。aaFormの内容は動的に変化します。
0425424
04/07/27 01:10ID:???両方みてるのでどちらかにレスを下さった時点でその旨を報告します。
0426nobodyさん
04/07/27 01:59ID:???0427nobodyさん
04/07/27 11:52ID:???0428425
04/07/27 12:13ID:???0429425
04/07/27 21:58ID:???bean:defineで解決しました。
[template.jsp]
<%@ page contentType="text/html; charset=MS932" %>
<%@ taglib uri="/WEB-INF/taglib/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/taglib/struts-tiles.tld" prefix="tiles" %>
<html:html>
<bean:define id="form" name="aaForm"/>
<body>
<tiles:insert attribute="aaa" beanName="form"/>
</html:html>
[insert.jsp]
<%@ page contentType="text/html; charset=MS932" %>
<%@ taglib uri="/WEB-INF/taglib/struts-bean.tld" prefix="bean" %>
<bean:write name="aaa" property="date"/>
0430425
04/07/27 22:23ID:???誤:<bean:write name="aaa" property="date"/>
正:<bean:write name="form" property="date"/>
0431セキュリティ
04/08/05 00:50ID:JUf/Rg2G分かる方いますか?通常とおりにBASIC認証の設定をしても
URLが○○Action.doとか○○Return.doとかなのでJSPと指定した
ディレクトリ内のJSPだと認識してくれず、認証がかかりません。
指定したディレクトリに認証掛けるのではなく、指定したURLに認証を
掛けることってできるのでしょうか。
0432nobodyさん
04/08/05 05:26ID:???・サーブレットコンテナ側でベーシック認証
・redirectするようにする
とか?
0433nobodyさん
04/08/05 07:21ID:???出来るよ。
でもそれは Struts とは関係のない世界。
使ってる Web サーバすら書いてないから答えられないけどね。
0434セキュリティ
04/08/07 00:35ID:eCns8z8W情報が足りなくすみません。WEBサーバはtomcatをコンテナにapacheを利用しています。
OS:RedhatLinux
AP:apache1.3.28
tomcat5.0.19
調べたところ、JSPの配置場所を変えればなんとかなりそうなのですが、
元々strutsでの開発を考えてなかったようでWEB-INFと同階層にJSP用の
フォルダが配置されています。そのため、現在の配置に対応するためには
JSP側のsubmitとstruts-conf側のactionの中でパスを追加しなくては
ならないみたいです。
ソースはいじらずに設定したいのですが、apacheやtomcatだけの設定で
どうにかならないでしょうか。
例】
DcumentRoot:/apl
jspの位置:/apl/test
1)http://www.hogehoge.co.jp/apl/test/sys1/hoge.jsp
2)http://www.hogehoge.co.jp/apl/HogeHoge.do
上記の例で1)のURLであればhtaccessでパスを解釈するのですが、
同じjspファイルを呼び出してもstrutsを使ったシステムでは2)の
URLのように表示されるため、ファイルパスがapacheで解釈されずに
制限を掛けたにも関わらず、画面が表示されてしまいます。
>432
tomcatでのベーシック認証でもパスの関係で上手く動作しませんでした。
redirectの設定についてもう少し調べてみたいと思います。
>433
何か方法があれば教えてください。よろしくお願いします。
また、もしできたら結果報告したいと思います。
0435nobodyさん
04/08/07 02:52ID:???勘違いしてないか?
認証は各ファイルに対して行うのではなく、リクエストに対して行うのだよ。
Servletがリクエストを受けるのなら、Servletのパスに対して認証を設定する。
Strutsに限った話ではないのだが。
0436nobodyさん
04/08/07 12:09ID:???*.jspのリクエストを受け取ったら全部エラーにしてしまえ
0437nobodyさん
04/08/07 12:31ID:???>調べたところ、JSPの配置場所を変えればなんとかなりそうなのですが、
>元々strutsでの開発を考えてなかったようでWEB-INFと同階層にJSP用の
>フォルダが配置されています。そのため、現在の配置に対応するためには
>JSP側のsubmitとstruts-conf側のactionの中でパスを追加しなくては
>ならないみたいです。
>ソースはいじらずに設定したいのですが、apacheやtomcatだけの設定で
>どうにかならないでしょうか。
どうにかしようとするな。
0438nobodyさん
04/08/07 13:31ID:s4CRkah5http://java-house.jp/ml/archive/j-h-b/027387.html
0439nobodyさん
04/08/07 22:12ID:???0440nobodyさん
04/08/08 04:45ID:AIqU/7Pnなんで433がサーバ書いてないだけで全く答えられないのか理解不能だが、フィルターとかweb.xmlに認証の設定書くとか、標準の範囲でもいろいろできると思う。
0441nobodyさん
04/08/11 20:11ID:???actionForward.setRedirect(true);
return actionForward;
でいけるとおもったけどダメみたい。
どうやるのが一般的?
0442nobodyさん
04/08/11 22:05ID:???え? それでリダイレクトしないのか?
それは他のところがまずいんじゃないの?
一般的にはそれか、<forward redirect="true" でしょ。
0443nobodyさん
04/08/11 23:04ID:???フィルターは Servlet 2.3 の仕様だろ。
古い AP サーバ使ってたら実現出来ないよね。
おまえの標準はどこからどこまで?
環境を書くのは当然の事だと思う。
0444nobodyさん
04/08/14 21:55ID:hGsyY8QCスマートな解決方法はありますか。
JSPの先頭で判定したり、WEB-INF以下に入れるってのは思いつくんですけど
前者は煩雑だし(カスタムタグつくればいいかもしれないけど)、
後者は管理しにくくなるので避けたいです。
0445nobodyさん
04/08/14 23:18ID:???0446nobodyさん
04/08/14 23:23ID:???どんな特殊な事情で煩雑になるんですか?
あ、>>445みたいに煽ってるわけじゃなくて、同じケースがあった場合を想定して参考にしたいので。
0447446
04/08/14 23:24ID:???「WEB-INF内だと管理しにくい」方です。
0449nobodyさん
04/08/15 00:28ID:???1つのフォームにボタンがたくさんある時に、そのボタンによって
分岐する場合で他にいい方法ない?
違うname同じvalueのボタンが大量にある場合は、Action内で分岐
していくしかないのかなぁ。
0450444
04/08/15 00:34ID:???一連のJSPがWEB-INF内と外で分かれてるのはわかりにくいのと、
そもそもWEB-INF内を触らせるのがこわいので。
ほかに思いつくのは拡張子jspをjspsとか適当に変えて、
拡張子でアクセス制限かけるとかかな。
0452nobodyさん
04/08/16 02:46ID:???0453nobodyさん
04/08/16 19:53ID:9tlzA3M2・OS:Windows XP ・strus1.1 を使用 ・インタフェースはHTML で主に OracleDBアクセス
・開発ツール JDeveloper 9.0.3 ・システムは OC4J 配下で稼動
HTMLのテーブルタグの形式で一覧表示しようする
と特定の日付範囲のデータを表示させようとすると、
テーブルタグの一部しか表示されないときがありますた。
[処理構成]
一覧表示は JSPで記述。Strutsのカスタムタグを使用して
アクション部JavaBean にセットされたものを表示。
[調査]
・アクション側でJavaBean にセットされたデータをログ出力させて
みたが特に問題はない模様。
・JSP側のタグなどもチェックしてみたが、問題はなさそうであるし
そもそも実行時には 例外が発生しないので構文自体には問題なし。
実は他の掲示板でもそうだんしたところ
OC4J(← Oracleアプリケーションサーバ付属のサーブレットコンテナ)
のバグでコンフィグファイルの編集でいけるとのこと回答
をいただいたけど、、やっぱりそれでもだめでした。
他にも同じようにはまった人いませんか?
で、デバッガーなど調査するためのなにか良い方法が
ありましたら教えてくださ
い。
併せて、参考になる資料のURLなどもあればおしえてー
0454nobodyさん
04/08/16 21:01ID:???0456nobodyさん
04/08/17 00:00ID:???ああ、あれだ。JSPに表示するバイト数の制限オーバーしたんじゃねーの。
確かデフォルト8KBだった気がする。それ広げてみたら。
0458453
04/08/17 01:43ID:KSTk5Ht9的外れな質問カキコにもかかわらず
アドバイスありがとうございます。
456様へ
そんな制限あったんですね。知りませんでした。
それやってみます。
457様へ
なんせこの手の開発はじめてなもんで、
どこかショボーイ抜けがあるオチがありそうな気が
して、サポートにヘルプまではという心境でした。
それに Oracle製品側じゃなくて
struts側のバクってうたがってまして、、、
ここの切り分けが下手糞なんですかネーあぅ。
とりあえず、アドバイスいただいたことやてみます。
0459nobodyさん
04/08/17 09:47ID:rYUQBx/N2chじゃなくてOTNのサポート掲示板で聞いた方がいいと思うよ。
知ってるかもしれないが入り口は
http://otn.oracle.co.jp/
0460nobodyさん
04/08/17 16:25ID:???jsp内に複数あるテキストボックスの入力内容を
1つの配列に渡したいのですが、やりかた教えてください。
ヒントだけでもいいですので・・・
0461nobodyさん
04/08/17 16:46ID:???ActionFormに配列で返すメソッドを設ける。
0462nobodyさん
04/08/18 11:24ID:???テキストボックスの数が動的に変化する場合、
それら入力値の値を取得するには
どうすりゃいいのでしょうか?
ActionFormの validateメソッドの中にゴリゴリ書くしかないのでしょうか?
======================================
<html:form action="/owner">
name1 : <html:text property="email"/><html:errors property="name1"/></br>
name2 : <html:text property="name"/><html:errors property="name2"/></br>
・
・
・
・
nameN : <html:text property="name"/><html:errors property="nameN"/></br>
<html:submit/><html:cancel/>
</html:form>
======================================
from.java
で、
private String[] name;
とかいうプロパティにセットしたいのだが、
462氏が言う配列として取得するにはどうすれば・・・
0466nobodyさん
04/08/18 23:52ID:???0467nobodyさん
04/08/19 21:49ID:???itareteで作ってるの?
それとも、自作?
どちらにしろ、すべてproperty="name"にすれば
form.javaで
String[] name = form.getName();
で取れる。
formはキャストしたものね。
0468nobodyさん
04/08/23 17:21ID:???配列で取る場合、格納される位置ってのは
保証されているんだろうか?
たとえばソース表示で右上から順に
格納されていくとか・・・。
0470nobodyさん
04/08/24 17:42ID:CGoWFOLWinit.do(初期化Action) => input.jsp(入力フォーム) => input.do(入力Action)
のように初期化するだけのActionを設けて、そこから遷移させるもんなんでしょうか?
それともinput.jspの先頭でFormBeanを操作する?
0471nobodyさん
04/08/24 17:46ID:???0472470
04/08/24 17:58ID:???速レスどうも。
メンテを考えるとできるだけ一般的な手法をとりたいのですが、
はじめてのStrutsなので結構難儀してます。
参考になりました。
0476nobodyさん
04/08/25 09:48ID:???それの入力内容を配列に格納したい時って
たとえば
private String[] textbox = new String[10]
for(int i=0;i10;i++){
String param_name = "param";
param_name=param_name+i;
textbox[i]=request.getParameter(param_name);
}
とかっていうダサイコードかかなきゃいけないんですか?
0477nobodyさん
04/08/25 10:34ID:???もしかしてスレちがいの話題?
Strutsなら直接request#getParameter()はしない。
>>475
> それ、ActionFormの初期化じゃなくてinput.jspの初期設定ね
ここよくわからん
0478476
04/08/25 10:43ID:???10個あるテキストボックスのname属性を
全て同じ名前にすれば
↑のようなコード書かなくても
Strin[g[] textbox=form.getParam();
で取れるんだが、これだと配列の要素位置の保証が
無いと469がいっていたので・・・・。
保証があれば、↑のようなコードかかなくてもいいのだが・・。
0479nobodyさん
04/08/25 19:44ID:???全部同じ名前ならどれも等価だろ、順番機にしてどうすんだ
0480nobodyさん
04/08/25 19:58ID:???ブラウザがどの順にPOSTするかも不定だろうし。
まー実装上は問題ない気もするけど。
0481nobodyさん
04/08/26 10:37ID:???各種プラットフォーム、osのテスト通ったが特に問題はなかったわけだが、、
たまたま?
0482nobodyさん
04/08/26 10:57ID:???たまたま。
実際にはHTMLで記述された順に送信するブラウザがほとんどだし、
そういう動作をしないブラウザを俺も知らないが
仕様上保証されているものではないので、順不同で送信する
ブラウザがあっても(既存のブラウザが将来のバージョンでそうなっても)
文句は言えないよ。
0483nobodyさん
04/08/26 14:39ID:???ってありますかね?
あったら便利なんだけど
0484nobodyさん
04/08/26 15:24ID:???ActionFormのメンバ変数に保持させるのはあまり宜しくない?
やっぱ自作のBeanを作ってそれをインスタンス化して格納して
セッションに入れた方が良いのか?
0485nobodyさん
04/08/27 13:25ID:???JSPでタグを使って
Beanのプロパティを表示したいのですが、
このBeanってもしかしてシリアライゼーブルをインプリメントしていないと
タグを使ってもとりだせないのでしょうか?
0486nobodyさん
04/08/27 13:38ID:???うまくいきません、恐らくJSP側に問題があると思います。
ご指摘宜しくお願いします。
public class SerchForm extends ActionForm {
private String[] serchresults_ID;
/*以下省略します*/
}
====================JSP====================
・・・・・・
・・・・・・
<logic:iterate id="TserchFormd" name="serchForm" >
<li><bean:write name="TserchFormd" property="serchresults_ID" />
</logic:iterate>
・・・・・・
・・・・・・
0487nobodyさん
04/08/27 17:34ID:???0488nobodyさん
04/09/07 21:22ID:???サーバ : Tomcat 5.0.27
OS : Windows 2k , Fedora core 1
Struts version : 1.1
struts-htmlとstruts-tilesを使用しています。
サイト全てをxhtmlで出力させたいので、メインのレイアウト用JSPには
<html:html xhtml="true">
と記述しています。
質問ですが、struts-tilesでheader.jspを読み込むようにしてあるのですが
header.jspのほうで
<html:img page="/images/hoge.gif" alt="" width="xxx" height="yyy" />
を入力するとHTML形式で出力してしまいます。
このようなtilesを使用している場合で
全てのパーツ(JSP)をXHTMLとして出力させる方法がありましたら
教えていただきたいです。よろしくお願いします。
0489488
04/09/08 10:15ID:???<html:xhtml />
このタグを各パートのjspに入れれば解決できました。
スレ汚し失礼しました。
0491nobodyさん
04/09/09 00:47ID:nnK3UDEH0492nobodyさん
04/09/10 16:26:19ID:???表示は可能なんですが、Submitしたら次のアクションに行く前に
[BeanUtils.populate]: java.lang.NullPointerExceptionが発生します。
やはりリストの中のマップに値をセットするのは無理なのでしょうか?
何か良い解決策をお持ちの方、ご教授下さい。
次の発言にソースを記述します。
0493nobodyさん
04/09/10 16:28:43ID:???public class HogeAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception {
HogeActionForm hogeActionForm = (HogeActionForm)form ;
List list = new ArrayList();
for(int i = 1; i <= 10; i++){
Map map = new HashMap();
map.put("key1", "aaa" + i);
map.put("key2", "bbb" + i);
list.add(map);
}
hogeActionForm.set_dataList(list);
/* ---以下省略--- */
}
ActionFormクラス
public class HogeActionForm extends ValidatorForm {
private List _dataList = null;
public List get_dataList() { return _dataList; }
public void set_dataList(List d) { this._dataList = d; }
/* ---以下省略--- */
}
0494nobodyさん
04/09/10 16:30:34ID:???<html:form action="/hoge">
TABLE
<logic:iterate id="dataList" name="hogeForm" property="_dataList" indexId="i">
TR
TD<html:text name="hogeForm" property='<%= "_dataList[" + i + "].key1" %>' />/TD
TD<html:text name="hogeForm" property='<%= "_dataList[" + i + "].key2" %>' />/TD
</TR>
</logic:iterate>
/TABLE
<html:submit value="Submit" />
</html:form>
長くてすみません。よろしくお願い致します。
0495nobodyさん
04/09/10 16:46:02ID:???取ってます。Live2chのバグかな?
0497nobodyさん
04/09/11 02:18:02ID:???<TD>
</TD>
</TR>
0498nobodyさん
04/09/11 02:19:16ID:???<TD>
</TD>
</TR>
って書いてみた。
0500492
04/09/11 11:14:18ID:???<html:text name="hogeForm" property='<%= "_dataList[" + i + "].key1" %>' />
の様な書き方をすると、取得は出来るようですが、
セットする場合、に_dataListがnullになっているのでセット出来ないと
言っているのではないかと思います。
そこで、Submitした後も_dataListをnullにならない様にしたいのですが、
何か良い方法は無いのでしょうか?
ご存じの方、ご教授下さい。
よろしくお願い致します。
0501nobodyさん
04/09/11 13:31:55ID:???設計を変えたほうがいいよ。
0502492
04/09/11 14:00:05ID:???Strutsではこういう使い方は出来ないと言うことでしょうか?
設計を変えるとしたら、どう変えるのが理想的でしょうか?
0503nobodyさん
04/09/11 14:01:10ID:???List型のプロパティに値をセットするときは、セットする前に
リストの要素を用意しておく必要がある。
方法はいろいろあるが、俺はActionFormのreset()メソッド内で
リストの要素を用意しておくことが多いかな
0505nobodyさん
04/09/11 14:21:43ID:???そりゃそうだろう。
0507492
04/09/11 16:22:58ID:???resetメソッド内で事前にセッションにセットしたリストを取得する様にしてみました。
if (_dataList == null) {
HttpSession session = request.getSession();
List list = (List)session.getAttribute("hogeList");
_dataList = list;
}
すると例外は出なくなりましたが、
TEXTフィールドに入力した値がセットされません。
JSPのproperty='<%= "_dataList[" + i + "].key1" %>'の部分の書き方が悪いのかな?
というところまでは分かるのですが、どう変えたら良いのでしょうか?
何度もすみませんが、よろしくお願いします。
0508+++
04/09/11 23:14:45ID:???とりあえず"dataList[0].key"の形でrequest.getParameterに入ってくるので、
それを読むか。
通常こういう場合、
<logic:iterate id="data" name="hogeForm" property="_dataList">で回して、
<html:text name="data" property="key1" indexed="true" />じゃあないかと
思うんだけど。結果は変わらないけど。
0509nobodyさん
04/09/12 09:58:09ID:???表示(初期化)のためのActionの中で必要な情報をcollectionに詰めて、formにsetすりゃいいだけじゃん?
0510nobodyさん
04/09/12 10:16:59ID:???ActionFormがrequestスコープの場合はダメ。
毎回のリクエスト受信時にActionFormのインスタンスは新たに生成され、
初期化処理で扱うActionFormのインスタンスと送信後に扱うActionFormのインスタンスは別になるから。
0511nobodyさん
04/09/12 20:53:02ID:???送信先で同じActionFormを使ってやりゃいいだけじゃん。
0513492
04/09/13 09:40:19ID:???そうなんです。
>>509の方法だと、Listがnullになってしまうんです。
だから、property='<%= "_dataList[" + i + "].key1" %>'の書き方だと、
_dataList[0].key1という名前になり、それをActionSetvletか何かで、
_dataList.get(0).put("key1","hogehoge")というようなメソッドを呼んでると思うのですが、
_dataListがnullだからNullPointerExceptionが出るのだと思います。
0514492
04/09/13 10:35:16ID:???ありがとうございました。
結局、現在はActionFormに以下のソースを追加しました。
private String[] key1 = null;
private String[] key2 = null;
public String[] getKey1() {
return key1;
}
public void setKey1(String[] k) {
this.key1 = k;
}
public String[] getKey2() {
return key2;
}
public void setKey2(String[] k) {
this.key2 = k;
}
画面表示時は、以下の様にしてListの内容を出力し、
<logic:iterate id="list" name="hogeForm" property="_dataList">
<html:text name="list" property="key1" />
<html:text name="list" property="key2" />
</logic:iterate>
ActionFormにセット時はString配列にセットする様にして
処理しています。
でも、このやり方は邪道だと思っています。
もし他に良い方法がありましたらご教授下さい。
0515nobodyさん
04/09/13 22:16:56ID:uejohbjj何か弊害ありますか?
0517nobodyさん
04/09/13 22:31:27ID:uejohbjj0519nobodyさん
04/09/13 23:40:40ID:???モジュール化をするかしないかの違いでしかないの?
もうちょっと説得力のある理由があるのかとおもった。
そのAction固有のロジックで複雑でもなければとりあえずそこに書いといて、
必要になったときにリファクタリングで括りだす方針でも問題ないような。
Actionはシングルトンだから書けないロジックもあるのはわかるけど。
0520nobodyさん
04/09/14 08:03:53ID:???0521nobodyさん
04/09/14 21:28:50ID:???MVCの利点が理解できなきゃこれも理解できないだろうけど。
0522nobodyさん
04/09/14 21:46:02ID:???http://struts.apache.org/userGuide/building_controller.html#action_design_guide
0524nobodyさん
04/09/14 22:41:16ID:DrU+5VXTそのあとActionから抜けるまで使いまわすようなフレームワーク作ってるんですけど
どうしたらいいですか?
Actionクラスのメソッドの引数にconnとかがあります!
0526nobodyさん
04/09/14 22:52:17ID:DrU+5VXT0527nobodyさん
04/09/14 23:27:05ID:???Action の最初と最後をトランザクション境界にしてるんだろ。
違うのか? それはそれでありだと思うが。
ただ、Action クラスを継承して作ってんだったら、その先輩はうんこかな?
RequestProcessor を拡張し、コネクションは ThreadLocal から取得する
ようにしたほうが良い。Action のインタフェースも変える必要はない。
もちろん、この Action をモデルとして考えた場合の再利用性は低くなる。
が、プロジェクト内での再利用性は十分だし、開発効率も高い。
0528nobodyさん
04/09/16 00:01:38ID:???0529nobodyさん
04/09/17 00:11:06ID:UID/DeJQそういう構成ってどう思いますか?
0531nobodyさん
04/09/17 00:50:37ID:UID/DeJQ*.doに仕掛ければ*.doアドレスのやつは全部そのfilter掛かるんだよ。
0534nobodyさん
04/09/18 00:44:57ID:???アリ?こりゃおっかしいなぁ〜
寒いわボケ しね
0535nobodyさん
04/09/18 00:59:53ID:???0536nobodyさん
04/09/18 01:00:21ID:???0537nobodyさん
04/09/22 04:52:07ID:???むしろfilterでコネクション取得して、切断。
Hibernateだと、「Open session in view」ってなってるから、さしずめ「Open connetion in view」だろうか。
0539nobodyさん
04/10/08 11:41:11ID:???現象として、ApplicationResourcesに設定してあるメッセージを取得できません。
struts-config.xmlには、
<message-resources parameter="res.ApplicationResources"/>
と設定して、ApplicationResourcesファイルの階層も間違っていないのですが。
どうやら、ローカルサーバーのApplicationResourcesを見ずに、ビルドした
ローカルの階層を見ているようで、こちらに設定するとメッセージは取得出来ます。
Tomcat 5.0
Struts1.1
を使用しています。
何か他に設定が必要なのでしょうか?
どなたかお教えいただけないでしょうか? m(_ _)m
0540nobodyさん
04/10/08 19:54:12ID:???>ローカルの階層を見ているようで、こちらに設定するとメッセージは取得出来ます。
よくワカンネ
0541nobodyさん
04/10/08 20:24:16ID:???それだとそれで正しい挙動だと思う。
0542nobodyさん
04/10/10 23:48:18ID:d05ou0eX0543nobodyさん
04/10/11 00:26:05ID:???賛否両論だが仕事でJavaでwebやるならとりあえず覚えておけ。
Java-webフレームワークの中では最高に普及していることは間違いない。
0544nobodyさん
04/10/11 00:27:51ID:???0546nobodyさん
04/10/11 12:49:36ID:???あんまり末端の層でブアツイフレームワークは必要ない気がする。
0547nobodyさん
04/10/11 14:55:13ID:???普及度? シンプルさ? 軽量さ? 機能? 脳内知識?
2位と3位のフレームワークも上げて欲しい。
0548nobodyさん
04/10/11 18:24:22ID:???その後JSFに以降。
0549nobodyさん
04/10/11 18:28:05ID:???0550542
04/10/11 22:46:32ID:1ye9esf40551nobodyさん
04/10/12 03:07:49ID:???0552nobodyさん
04/10/12 21:26:32ID:???0553nobodyさん
04/10/12 21:45:34ID:???0554nobodyさん
04/10/12 22:53:10ID:???0555nobodyさん
04/10/13 16:12:45ID:???0557555
04/10/13 17:20:59ID:???いえ、もしStrutsがセッション管理機能を持ってるんなら
そっち使いたいなぁって思っただけです。
Struts初心者なもんで。。。
0558nobodyさん
04/10/13 18:40:06ID:???セッション管理なんて、sessionにほりこむだけじゃん。
わざわざStrutsにやらせんでも。
ってか、何やらせたいん?
0559nobodyさん
04/10/13 19:07:31ID:???もっとアプリ寄りの高級なセッション管理ってことかな?
そういうのなら残念ながらない。
0560555
04/10/13 19:17:18ID:???そうですか、そういう管理機能は持ってないんですね。。。
今までどおりsession.getAttribute()でがんばります。ありがとうございました。
0561nobodyさん
04/10/13 22:38:10ID:???0562542
04/10/15 16:31:49ID:yJKQCGu4で、いきなりstrutsの本を渡されたんですが、読んでるとJSPやサーブレットのことを知らないとまずいですね、多分当たり前な話なんでしょうが
もうびっくりして別の書籍買ってきました。JSPとサーブレットに関しての本です。すると今度はXMLやらXSLTやらDOMやら出てきましたので
それも購入して読みあさった結果「これは腰を据えて取り組まなきゃいかんのでは?上司が言うように簡単にはいかん。」と思いました。
そこで質問なんですが、Webアプリ開発担当になるためには、JSP/サーブレット→XML/XSLT/DOM→strutsというような勉強の順番でいいですかね?
私は恥ずかしながらJAVA歴1年で去年1年間とある予約システム(店頭で店員がいじるソフト)の開発しかやったことありません。
オブジェクト指向はわかりますが、ネットワークアプリの開発もしたことありません。サーブレットは簡単そうなんですが、Web関係の技術は無知です。
どうなんでしょう?それともこの異動はもしかしてリストラの前兆ですかね?入社1年目にして?ぎゃって感じです・・・
0563542
04/10/15 16:40:48ID:yJKQCGu4岡山から先月引っ越してきました。なんだか前の部署(企業向けアプリ)の方がUMLの段階から
ノンキで仲良くやってたんですが、ここでは皆無口でPCに向かったまま、話し掛けると無視されます。
UMLも他の部署がしてるみたいで、ここの人はみんななんか機械やロボットのようです。
私はそんな片隅で自習です・・・他にも同じような人が3人いるんですが、みんな「??」状態です。
やばいですかね?業界のこともよくわからんですし、前の雰囲気が当たり前だと思ってたし
独学でやる気はあるんですが、どこから手をつければいいかわかんなくて・・・
0565nobodyさん
04/10/15 19:44:28ID:???ドゾー
Webアプリ開発担当になるためには、JSP/サーブレット→XML/XSLT/DOM→strutsというような勉強の順番でいいですか
0566nobodyさん
04/10/15 19:55:18ID:???それよりWebアプリ特有の設計をなんとかして学ぶ。Struts本くれたのもざっと
全体見渡せってことじゃないかと。しかしJava歴一年で「ずっとJAVAでソフト開発してきた」とは
大きく出たな。
>>565
まだ横に長い
0567nobodyさん
04/10/15 21:16:44ID:???そうじゃなければ別にイラン。
例えばstrutsは設定ファイルがxmlなだけで、別にxmlの知識が要るわけじゃないし。
0568542
04/10/15 21:35:15ID:yJKQCGu4すいません。長々と書いてしまいまして。
>しかしJava歴一年で「ずっとJAVAでソフト開発してきた」とは大きく出たな。
すいません。偉そうに言ってしまいました。「1年しか」ですね^^;
>>566 >>567
ご返答ありがとうございます。勉強方法がわかってとても安心しました。
とりあえずJSP/サーブレット→strutsという風に勉強します。
0569nobodyさん
04/10/15 21:54:52ID:???割と派手目だかすぐに枯れたりしないの花を買って生ける。
これだけでけっこう雰囲気が変わる。
しかし毎回買ってくるのは金がかかるし、ある日出勤したら倉庫に移動されてたりする。
だがこれで諦めているようではいけない。あくまでこれはイントロにすぎない。
次に持っていくのは植木鉢だ。今度は生けるのではなく本格的に植えてみよう。
前は花だった。香りもあったわけだ。それなりにインパクトがあるから皆それとなく気にかけていたはずだ。
今度は何がいいだろうか。不意をついて芝生や猫草などどうだろうか。何が生えるかな?などと
思って楽しみにしていると、もはやそれ以上何も生えない。これを気づかれないように少しずつ増やす。
そうやってある程度土壌が確保できたら本命の野菜を植える。大麻は駄目だ。葉ものが欲しければ七草程度にする。
そうするとだんだん森の動物が来るようになる。熊も来る。だんだん川も流れてくる。
こうやって大自然のなかに身をおくことで誰もが癒されてくる。誰かに優しくしたくなる。
とにかく職場の雰囲気に合わせては駄目だ。きっかけはたった一つの花でも気がつけば
ネイチャーだろ?こうなるともう自給できる。会社がなくなっても全然問題ない。そうだろ?誰か同意してくれよ、なあ。
0571nobodyさん
04/10/15 22:57:14ID:???いなければ殺伐とするのは当然だ
0572nobodyさん
04/10/15 23:10:30ID:???0574542
04/10/18 22:01:38ID:V0c+FM4A勉強のほうはお蔭様で進んでおります。
意外とスルスル頭に入るのでそんなに悩まなくても良さそうです。
みなさんありがとうございました。
あとコンテンツマネジメントシステムに興味あって
今Zopeとかも見ています。でもこれパイソンですね。
JAVAでないのかな〜・・・探してるが出てこない・・・
0575542
04/10/19 01:40:15ID:TaQwkqrUちょっといじってみます。ではでは、失礼しました。
0576nobodyさん
04/10/19 02:24:46ID:???0577nobodyさん
04/10/19 12:00:08ID:???0578nobodyさん
04/10/19 18:48:32ID:biz4bNlUにforwardするように設定したつもりが、JSPのページがまったく表示されません。
すぐ思いつく原因などがあれば教えてもらえませんか?ソースには以下のように
表示されています。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=utf-8"></HEAD>
<BODY></BODY></HTML>
エラーメッセージも出ないので何が原因なのかまったくわかりません・・・。
0580nobodyさん
04/10/19 19:28:16ID:biz4bNlUstruts-config.xmlは以下のような感じです。InitUserInfoで前処理を
して、reguserinfo.jspを呼び出したいです。
<action-mappings>
<action
path="/InitRegUserInfo"
type="actions.InitRegUserInfo">
<forward name="success" path="/pages/userinfo/reguserinfo.jsp" />
</action>
</action-mappings>
0581nobodyさん
04/10/19 19:31:52ID:???> Actionクラスも作って、successを返したらJSPページ
> にforwardするように設定したつもりが、
つもりだから。
0582578
04/10/19 19:48:00ID:???HttpServletRequest requestとするべきところが
HttpServlet requestになってました。
これで半日悩んだおれって馬鹿だと痛感しました。これから進めそうなの
でがんばります。
それにしてもエラーメッセージが出てくれないミスってきついですね。
0583nobodyさん
04/10/19 20:45:17ID:???J2SE5使って、executeメソッドの前に@Override付けろ。
ちゃんと検出してくれる。
ただしXDocletが使えなくなる罠。
0584nobodyさん
04/10/19 22:43:54ID:qwXtDXVhすげーワラたよ。
0585uncorrelated
04/10/20 11:08:39ID:OHS9yskl0586nobodyさん
04/10/20 11:10:45ID:???0587nobodyさん
04/10/20 14:59:22ID:???0588nobodyさん
04/10/20 15:08:03ID:???0589nobodyさん
04/10/20 15:18:51ID:???0590nobodyさん
04/10/20 17:23:55ID:???0591nobodyさん
04/10/20 19:36:11ID:???0592nobodyさん
04/10/20 19:55:10ID:???0593nobodyさん
04/10/20 22:49:06ID:???0594nobodyさん
04/10/20 23:31:44ID:???0595nobodyさん
04/10/20 23:37:24ID:???http://www.amazon.co.jp/exec/obidos/tg/detail/offer-listing/-/B00005GL98/used/ref=olp_tab_used/250-8633275-5102657
0597nobodyさん
04/10/21 00:32:47ID:???0598nobodyさん
04/10/21 11:18:57ID:???行っていましたが、
FormBeanをいちいちコーディングしなくてもいいバージョンのStruts(1.1以降のバージョン?)で
文字列のエンコーディングとかはstruts-config.xmlの中で設定とかはできるのでしょうか?
0600598
04/10/21 13:53:19ID:???×:設定とかはできるのでしょうか?
○:設定できるのでしょうか?
0601nobodyさん
04/10/21 19:25:59ID:???それと、FormBeanはいちいち作るべき。
EclipseやNetBeansその他のツールでセッター・ゲッターは自動生成できる
それに比べればxmlで書くほうがめんどうで、メリットもない。
0602nobodyさん
04/10/21 22:59:31ID:???>それに比べればxmlで書くほうがめんどうで、メリットもない。
そうでもないでしょ
setter&getterは確かに自動生成できるかもしれんが
XML設定だけでformBeanが管理できるstruts1.1の方が断然管理しやすい
0603nobodyさん
04/10/21 23:02:46ID:???エンコーディングはTomcatについてるSetCharacterEncodingFilter.javaを使うのが普通かも(違うかも)
使い方は>>601の言うとおりweb.xmlにfilterの設定を追加して、すべてのリクエストにマッチさせればOKかな。
サンプルはウェブに転がってると思う(Tomcatにも付いてる)
0604nobodyさん
04/10/21 23:04:25ID:???DynaActionFormはTypeSafeじゃないから、そのツケがそのうち回ってくると思う。
0605nobodyさん
04/10/21 23:06:35ID:???0606nobodyさん
04/10/21 23:06:40ID:???>それと、FormBeanはいちいち作るべき。
>EclipseやNetBeansその他のツールでセッター・ゲッターは自動生成できる
>それに比べればxmlで書くほうがめんどうで、メリットもない。
考え方が古いな。
まあ、それで本当にDynaBean使うより工数が減るのなら、逆に大したもんだ。
0607nobodyさん
04/10/21 23:08:15ID:???そういうポリシーがあって、あえてFormBean作るのなら問題はないけどね。
>>601みたいな「俺はこっちの方が慣れてるんだ」的な理由ではどうもね。
0608nobodyさん
04/10/21 23:24:45ID:???工数減ると思うよ。
Dyna使うとプロパティ名やプロパティの型がコンパイル時にチェックできないから
テストやデバッグで余分な工数がかかるのは容易に想像できる。
DynaだとXDocletでのvalidator.xmlの自動生成にも対応できないし。
考え方が古いのは606じゃないの?Struts1.1b2の頃(約2年前)には
606みたいなこと言う人はたくさんいたけど。
0609nobodyさん
04/10/21 23:35:17ID:???どうも無駄なコードを沢山書いているように見えてしょうがない。
0610601
04/10/21 23:39:16ID:???struts-config.xmlとかvalidator.xmlはXDocletが生成してくれるから、管理はBean.javaだけでいいし。
0611nobodyさん
04/10/22 00:00:11ID:???これが最強とか最高とかはないだろ。
どっちにもメリット・デメリットはある。
ム板のこのテの議論はどれもリスキーシフトまっしぐらだな。
0か1かハッキリしなきゃ死ぬのか。そんなに二進数が好きか。
0612nobodyさん
04/10/22 00:01:02ID:???ステップ数という概念をオブジェクト指向言語に持ち込む時点でアタマ相当古い&堅いね。アンタ。
インタフェースと実装を分ける設計とか抽象クラスを作成するのもステップ数稼ぎの無駄なコードとか言われたりしてw
0614nobodyさん
04/10/22 00:24:01ID:???自分の情勢が不利になると一般論を持ち出すんですね。
XDocletが現れて、DynaFormBeanのメリットはほとんどなくなって、デメリットがめだつようになったんだけどね。
0615nobodyさん
04/10/22 00:38:12ID:???もっと役に立つ話でも書いてくれ。
こういう議論は飽きるほど見てきたからもう十分。
0616nobodyさん
04/10/22 00:42:24ID:???株ロボコンテストのサイトはStrutsで動いてる
0617nobodyさん
04/10/22 01:19:09ID:???自分に不利な結論がでると、役に立たない話だったことになるんですね。
しかも、勝ち負けの話じゃない、といいながら「勝ちでいいから」と。
0か1かハッキリしなきゃ死ぬのは自分のことじゃないか。
2つの手法があって、どっちがいいのかという話は、宗教論にならない限りは役に立つと思うんだけどね。
0619nobodyさん
04/10/22 02:48:39ID:???0620nobodyさん
04/10/22 02:50:00ID:???0621nobodyさん
04/10/22 03:07:18ID:???0622nobodyさん
04/10/22 03:17:48ID:???0623nobodyさん
04/10/22 03:27:23ID:???0624nobodyさん
04/10/22 05:04:53ID:???0625nobodyさん
04/10/22 06:30:35ID:???0626nobodyさん
04/10/22 08:52:47ID:???みんながDyna、ダイナと騒いでいた2年前と今ではIDEの普及率に大きな開きがある。
アクセサを書かなくていい、というメリットは現在では無いに等しくなった。
極論すれば、EclipseがDynaFormBeanの存在価値を消した、ということか。
0627nobodyさん
04/10/22 09:27:02ID:???struts-config編集ができるだけのStrutsツールも無用になったし。
ま、「時の流れが」ってことだね。
0628nobodyさん
04/10/22 09:36:12ID:???0629nobodyさん
04/10/22 09:51:25ID:???どこにXDocletを使わない理由が?
0630628
04/10/22 10:23:23ID:???いや、正直使ったことなくて一通りサラッと調べてみたんだけど
俺にはメリットが理解できなかったもんで
XDoc童貞な俺にやさしい解説おながいしますエロい人
0631nobodyさん
04/10/22 10:53:26ID:???XDocletの利点
・xxx.javaだけをいじればいい
struts-config.xmlやらvalidator.xmlを記述する必要がない。
・クラス名の記述が必要ない
FQNを正確に入力するのは結構めんどくさい。
・複数人で同時にstruts-config.xmlをメンテするときの問題が少なくなる。
CVS使ったとしても、コンフリクトしたときは手作業
これが一番のメリット。
デメリット
・最新に即時対応しない
けっこう困る。
いまでも正式版は1.1まで。
1.2が使いたければXDoclet1.2RCを使う。
・struts-configの知識が必要ないわけはない
・集中管理ができなくなる。
でも、集中管理って必要?
・antが必要
ま、Tomcatで開発するならコンテキストの再起動するのにAnt使った方が便利だし。
0633nobodyさん
04/10/22 12:42:57ID:???XDocletはどっかに解凍。
<target name="xdoclet.struts">
<taskdef classname="xdoclet.modules.web.WebDocletTask" name="webdoclet">
<classpath>
<fileset dir="${dir.xdoclet}/lib" includes="*.jar"/>
<fileset dir="${dir.tomcat}/common/lib" includes="*.jar"/>
<fileset dir="${dir.web}/WEB-INF/lib" includes="*.jar"/>
<pathelement path="${dir.web}/WEB-INF/classes"/>
</classpath>
</taskdef>
<webdoclet destdir="${dir.src}" excludedtags="@version, @author, @todo"
force="true" mergedir="${dir.merge}" verbose="false">
<fileset dir="${dir.src}">
<include name="**/*.java"/>
</fileset>
<deploymentdescriptor destdir="${dir.web}/WEB-INF" servletspec="2.4"/>
<strutsconfigxml destdir="${dir.web}/WEB-INF" version="1.2"/>
<strutsvalidationxml destdir="${dir.web}/WEB-INF"/>
</webdoclet>
</target>
こんな感じのスクリプト動かす。
dir.xdoclet XDocletを解凍したところ
dir.tomcat Tomcatのベースディレクトリ
dir.src ソースの場所
dir.merge マージファイルの場所
dir.web 生成先
version="1.2"とかservletspec="2.4"が使えるのはXDoclet1.2RCからだから、どっかから拾ってきやがれ。
ム板のXDocletスレへでも逝け。
あとはググれ。
0634nobodyさん
04/10/22 14:01:17ID:???理解できればメリットがわかるんだろうけど漏れにはむりぽ_| ̄|○
0635nobodyさん
04/10/22 15:03:06ID:???/**
* @struts.action
* name="inputForm"
* path="/input"
* scope="request"
* input="/input.jsp"
* validate="true"
* @struts.action-forward
* name="success"
* path="/index.jsp"
*/
public class InputAction extends Action {
みたいな感じで書いて、あとは>>633のantスクリプト走らせるだけ。
0637nobodyさん
04/10/22 19:17:20ID:???tp://www.itmedia.co.jp/enterprise/0404/26/epn01.html
0638nobodyさん
04/10/23 14:22:29ID:???チェックボックスを各行の先頭につける一覧を表示しているのですが、
Actionの中でcheckboxの選択有無の判定がうまくいきません。
今はFormの中でチェックボックスプロパティを配列形式で宣言していますが、
選択したチェックボックス分のvalue値しか配列に格納されず、
配列の長さから「いくつチェックボックスを選択したか」しか判定できません。
チェックされないものは排除されてしまいます。
各行でチェックされたものとされないものの判定をする
いい方法はありませんでしょうか。
なお、JavaScriptで選択されてないチェックボックスのValueに
何かしらの値をセットして、選択されたものとの区別を測るという方法以外で。
JSPとForm,ActionFormの中でできる判定方法はないでしょうか?
0639nobodyさん
04/10/23 14:48:24ID:???0640nobodyさん
04/10/23 15:26:38ID:???0641638
04/10/24 11:10:44ID:???各行のFormを、それ自身のFormに配列形式で格納していくという方法でできました。
Form配列から一行分ずつのFormを取り出し、チェックボックスを判定。
各行のFormに含まれるチェックボックスのProperty変数は配列形式ではないので、
選択されていなくても変数のデフォルト値で判定可能というわけです。
>>640
multiboxも調べてみましたが、
チェックボックス以外の機能も含めてプログラム全体として考えると
自分の意図するものと少しずれていたので、今回はその方法はとりませんでしたが、
有益な情報サンクスです。
0642nobodyさん
04/11/08 00:14:18ID:Xgp3rIIQ取得したいと考えているのですが、何方かアドバイスいただけませんでしょうか?
選択している要素の取得方法はなんとなく分かるのですが、選択可能な要素を全て取得する方法が思いつきません。
出来ればJavaScriptは使わない方向で考えているのですが...
よろしくお願いいたします。
0643nobodyさん
04/11/08 00:17:56ID:???0644nobodyさん
04/11/08 00:24:59ID:???なんかよくわかんないが…
<select 〜>
<option value="value1">str1</option>
<option value="value2">str2</option>
…
</select>
の(value1,str1),(value2,str2)…みたいのが欲しいって事?
だとすれば、そもそも、そのフォームをVする際のMにその情報が有るでしょ。
それにアクセスすれば良いんじゃないの?
0645nobodyさん
04/11/08 00:27:48ID:???JavaScriptでhiddenタイプの変数として、カンマとかで値を結合して渡すとかは
思いついたのですが、もっと楽な方法があるだろう...と。
0646nobodyさん
04/11/08 00:33:22ID:???レス、ありがとうございます。
<SELECT>の要素は画面で追加・削除が行えるようにJavaScriptで組んでいるため、
<OPTION>の内容や数は変わることが前提となっているのです。
先ほど645で書いた方法程度であれば何となく考えているのですが、
何かございませんでしょうか?
0647nobodyさん
04/11/08 01:23:50ID:???0648nobodyさん
04/11/10 11:25:30ID:???<logic:iterate〜で、Beanに設定したテキストボックスの初期値は、正しく表示されているのですが、
テキストボックスの値を変えてsubmitしても、Actionで入力値が取得できません。
なにか思いつく原因などがあれば教えてもらえないでしょうか?
よろしくお願いします。
0649nobodyさん
04/11/10 14:33:28ID:qbk8LNSWよろしかったらもうすこし具体的にやり方を
教えてもらえないでしょうか。
今同じような事をやってつまっております。
0650nobodyさん
04/11/10 23:25:11ID:???やり方は2種類。
前提として、BeanにString id、String nameっていうフィールドがあるとして。
1. フィールドの配列で受ける。
<logic:iterate id="bean" 略>
<html:text name="bean" property="id"/>
<html:text name="bean" property="name"/>
</logic:iterate>
こういうJSPを書いて、この値が入るActionFormのフィールドに
String[] id と String[] name、およびそれぞれのアクセサメソッドを
用意しておけば、上から順番に値が格納される。
2. Beanの配列で受ける
<logic:iterate id="bean" 略>
<html:text name="bean" property="id"indexed="true"/>
<html:text name="bean" property="name"indexed="true"/>
</logic:iterate>
こう書いておいて、ActionFormにBeanの配列(もしくはList)と、
setBean(int index) を用意しておけば、Beanの配列として値が入る。
0651nobodyさん
04/11/11 05:13:30ID:hiuJkdtgstrutsのViewの部分をVelocityで実装してみるのは
有効なんですかね?
0652nobodyさん
04/11/11 05:23:51ID:???JSPとVelocityの違いは、XMLタグで制御構造を書くかそうではないかだけかと。
オーサリングツールが使いにくいとかブラウザでのプレビューがやりにくいとかじゃなければ、JSPの方がいいと思われ。
タグファイルとか考えると、JSPの方が便利だし。
0653649
04/11/12 14:00:22ID:???やり方としてはデータ用に作成したbeanの中に
indexを持たせてsubmit時にindexの値の配列を取得して
その他フィールドの値をindexをキーにして取得しています。
他にいい方法があれば教えてください。
やりたいことは、下記の通りです。
検索条件に従ってデータベース検索して結果を一覧表示する。
この際、各行にチェックボックスを作成する。
submit時にチェックボックスにチェックが入ったデータのみを
対象にある処理を行なう。
0654nobodyさん
04/11/23 00:13:58ID:???{0} が含まれている場合に
その {0} を入力された文字列に置き換える方法はないでしょうか?
たとえば、「入力された値は {0} ですが、その値は無効です。」とかいう
メッセージを表示したいのです。
書籍や Web サイトなどでは、固定文字列に置き換える方法ばかりしか見かけないので・・・。
0655nobodyさん
04/11/23 03:25:21ID:???試してないし君のValidatorのコードもわからないので適当書く。
たぶんActionErrors(ActionMessages)に
ActionError(ActionMessage)を追加してるところがあるとおもうけど、
後者は特にResources.getActionError()で取得する必要はなくて
ActionError(ActionMessage)でさえあればいい。
0657nobodyさん
04/11/23 11:22:18ID:???0658654
04/11/23 15:55:19ID:???それでは不可能、ということなんですね。
ありがとうございます。
0659nobodyさん
04/11/27 21:22:47ID:???ActionForm の代わりにPOJOを用いる方法を書いてるが、
こっちのスレの住人は使ってるのかな?
0660nobodyさん
04/11/29 21:50:18ID:???保守する身にもなってくれ。
0661nobodyさん
04/12/01 00:29:13ID:???0662nobodyさん
04/12/01 02:32:32ID:???0664nobodyさん
04/12/01 02:46:08ID:???DynaValidatorActionだといいの?
>>663
△△さらにStrutsの良さを教えて下さいSession3
http://pc5.2ch.net/test/read.cgi/tech/1088870989/
0668nobodyさん
04/12/02 12:22:43ID:???フィールド定義して、右クリックしてツールにセッターゲッター生成してもらって、XDocletタグを書くだけ。
あまりめんどくさくない。
0669nobodyさん
04/12/02 20:36:12ID:???いろいろそれ用の設定も必要だし
前準備だけでめんどくさいです
0670nobodyさん
04/12/02 20:47:10ID:???それなら、Struts使う必要もあまりなさそうだけど。
0672nobodyさん
04/12/04 02:23:43ID:???0673nobodyさん
04/12/04 15:46:09ID:???できますか?
@struts.actionと@struts.action-forwardを一つのクラスに複数個書いてみたら、
actionが複数できることは確認できたのですが、action-forwardが両方のactionの中に
入ってしまい、期待した動作はしませんでした。
みなさん、こういう場合ってどうしてますか?
それとも、一つのアクションクラスを使い回すってのがマズいんでしょうか?
0674nobodyさん
04/12/04 19:54:03ID:???マスタメンテとか一覧とか、共通のActionを使うことは多いと思う。
その場合は手書きになるね。
基本的にXDocletはシングルトンなクラスとValueObjectにしか適用できない気がする。
0675nobodyさん
04/12/11 02:21:47ID:???ビジネスロジックだけ分離させてそれを各アクションで呼べばいいだけだろ?
もしかしてActionクラスに処理べた書きか?
おまえらStrutsのこと全然わかってなさすぎ
@ITの山田と同レベルだな
0677nobodyさん
04/12/11 14:35:35ID:???ひょっとしてアクションクラスはクラスはModelだと思ってるの?
そうじゃなきゃそんな発言しないよね。
Controllerだと知ってたらそんな発言しないよね。
0678nobodyさん
04/12/11 20:35:55ID:???0679673
04/12/12 01:17:05ID:???今回は結局struts-actions.xmlでマージすることになったんですが、やはりアクションの使い回しはしないものなのでしょうか。
サーバサイドは初めてで、最近サーバサイドでのMVCの定義とクライアントでのMVC(というよりもプラットホーム準拠の作法)との差を感じることが多いです。
ロジックはModelに入るものということなのでしょうか。
僕の認識だと
M: データ構造
V: プレゼンテーション
C: データ操作のロジック
なので、同じロジックを複数の場所から実行して、別の結果ページに遷移したい時にはアクションを使いまわすべきか、と思って上の質問に至ったわけなんですが...
ちなみに、再利用性には気を配っているつもりですが、基本的にアクションクラスに処理べた書きです。
こういうことってStrutsやWebアプリの作法に反するっていうことなんですかね?
0680nobodyさん
04/12/12 01:46:09ID:???君の認識はどうでもいいからさ、ひとかけらでも疑問を持ったならちゃんと調べてくれよ。
ttp://e-words.jp/w/MVC.html
メインの処理はModelに実装し、Modelは画面出力などは行なわない。処理結果はViewに渡され、画面表示などが行なわれる。ユーザからの入力はControllerが受け取り、何らかの処理が必要な場合はModelに依頼し、出力が必要な場合はViewに依頼する。
知らない用語を自分用に解釈して使うことに何で疑問を持たないのかね。
0681nobodyさん
04/12/12 01:50:11ID:???0682nobodyさん
04/12/12 01:57:59ID:???Strutsは「MVC」の「C」だけを受け持つフレームワークだ。
それ以外のことはサポートしてくれない。
基本的にはViewもModelも自力で何とかする必要がある。
ここまで書けばわかるだろ?
0683nobodyさん
04/12/12 02:48:56ID:???> ちなみに、再利用性には気を配っているつもりですが、基本的にアクションクラスに処理べた書きです。
アクションクラスにロジックを書いてはいけない理由はないし、それはアプリケーションの規模や性質によるから一概にいえるものではない。
MVCという分け方があるとしても、CにMを併用するモデルを採用しようが、それは設計者の自由。
別のクラスにしないといけない理由はない。
メンテナンス性などを考えて最適であると判断できるならどうでもいい。
っていうか、処理するテーブルと入力フォームだけが違う場合にActionを共通化するようなことは普通にある。
0684nobodyさん
04/12/12 03:13:43ID:???アクションクラスにべた書きの時点で、再利用性には気を配っていないと言える。
そもそも、基本的にControllerは受け渡しのみを行ういわば使い捨てであり、それを再利用しようとする方が間違い。
あくまでも処理はModelで行う。
>MVCという分け方があるとしても、CにMを併用するモデルを採用しようが、それは設計者の自由。
これはMVCではない。MVCを無視して
「Strutsを使ってとにかくアプリケーションを作る」ことに専念するつもりなら当然何をやろうが自由だが
MVCを意識する以上は間違い。
>っていうか、処理するテーブルと入力フォームだけが違う場合にActionを共通化するようなことは普通にある。
自分の周りが全て正しいのか?
何も考えず周りに流されてるだけで、ちゃんとStrutsやMVCモデルについて勉強してない証拠だな。
それは単なるローカルルールだ。
要するにおまえは井の中の蛙だ。
0685nobodyさん
04/12/12 03:22:46ID:???自分だけうまい具合に自動生成できない時点で
「俺のプログラムはどこかアブノーマルな部分があるのかな」
とか気にしたんだろ?
それで>>673に書いたんだろ?
で、それに対する答えが「確かに君のやり方はアブノーマルな部分があるよ」だったわけだよ。
質問に対する回答を貰っておいて、それでもなぜ納得しないんだ?
0686nobodyさん
04/12/12 04:16:09ID:???htp://struts.apache.org/userGuide/building_controller.html#action_design_guide
って、上でも出てるし。
同じようなやりとりが定期的に出ている証拠だな
0687nobodyさん
04/12/12 04:46:15ID:???継承してちょっとした変更するより、同じクラスでパラメータによってちょっと動きを変えるほうがいいと思うが。
Actionなんて、再利用できるなら再利用した方がいいとおもうのだが。
> 要するにおまえは井の中の蛙だ。
自分がどんな井戸の中にいるのか把握してないみたい。
0690nobodyさん
04/12/12 11:19:21ID:???0691nobodyさん
04/12/12 11:37:13ID:???っていうか、別にActionにロジックを書いても当然動くけど、
(実際、ビジネスロジックと分離するかしないかの違いだし)
そういった使い方をするなら>>684にあるとおりMVCを持ち出すべきではないよね。
「CにMを併用するモデル」が既にMVCじゃないんだから。
入力パラメータが同じなのでActionFormを使い回したい、みたいな事はあるけどね。
>>687
どこから継承なんて言葉が出てきたんだ?
意味がわからん。
おまえの頭の中ではどんな作りになっているんだ?
0692nobodyさん
04/12/12 12:04:37ID:???0693nobodyさん
04/12/12 12:37:56ID:???MVCモデルは、意識して厳密にやろうとしないと>683のようにすぐに
曖昧になって混ざってしまいがちだから、頑固とは違う。
少なくとも>684の書いていることはまともだし、
>「Strutsを使ってとにかくアプリケーションを作る」ことに専念するつもりなら当然何をやろうが自由」
とあるとおり、「絶対にActionにロジックを書くな」と書いているわけでもない。
単にMVCモデルには則してないと書いているだけ。
こういうのは頭でっかちで頑固、とは言わないよ。
あと「基礎は知っていた上で多少は融通が利く」というより単なる「妥協」だね、この場合。
0694nobodyさん
04/12/12 16:26:36ID:???0695nobodyさん
04/12/12 16:31:33ID:???XDocletは基本的にシングルトンなクラスにしか便利に使えないし。
XDocletでうまく対応できないからといって、Struts側の設計としておかしいと考えるのは筋違い。
0697nobodyさん
04/12/12 16:59:50ID:???あの議論はいったい何だったんだという感じ。
せっかく記事を版管理無しでこっそり修正したのに
意味無かったね山田さん
0700nobodyさん
04/12/12 17:28:19ID:???M=ActionForm
V=JSP
C=Action
のことじゃなかったの?
0701nobodyさん
04/12/12 18:06:07ID:???MVCっていっても、Vの中にもMVC、Cの中にもMVC。
見る尺度によって、どこのレベルでもMVC.
0702nobodyさん
04/12/12 19:08:08ID:???0703nobodyさん
04/12/15 18:26:48ID:6uCmJkm40704nobodyさん
04/12/15 22:19:35ID:???0705nobodyさん
04/12/16 03:26:11ID:???0706nobodyさん
04/12/16 03:31:34ID:???意味不明だ。
使いまわせるActionなんて、いくらでも使いまわせばいいのに。
0707704
04/12/16 21:37:33ID:???0708nobodyさん
04/12/16 21:42:11ID:???V:Webサーバ(apache)
C:アプリケーションサーバ(tomcat)
0709nobodyさん
04/12/16 22:56:22ID:???0710nobodyさん
04/12/16 23:13:28ID:???V 株価
C システム
0711nobodyさん
04/12/17 05:39:15ID:???0712nobodyさん
04/12/17 07:43:36ID:???0713nobodyさん
04/12/17 09:36:34ID:???0714nobodyさん
04/12/20 08:48:06ID:scgdz6H2返答が無かったのでこちらのスレで質問させてください。
struts & jspで<logic:iterate>を使用するのに、以下のように<% 〜 %>スクリプトレットで取得する方法はできたのですが、
<% 〜 %>を使わないでstruts-config.xmlを利用して取得するにはどうせれば良いのでしょうか?
---jspコード---
<ul>
<%-- ↓これを埋め込みたく無い --%>
<% request.setAttribute("bean",new SampleBean()); %>
<logic:iterate id="seihin" name="bean" property="list">
<li><bean:write name="seihin" property="process"/></li>
</logic:iterate>
</ul>
--jspコードココまで---
---SampleBean.java---
public class SampleBean {
public java.util.List getList(){
java.util.List list = new java.util.LinkedList();
return(list);
}
}
---SampleBean.javaここまで---
0715nobodyさん
04/12/20 09:29:37ID:???> <% request.setAttribute("bean",new SampleBean()); %>
こんなのはActionでやる仕事。JSPに埋め込むな。
struts-config.xml も無関係だろ。
0717nobodyさん
04/12/20 10:55:34ID:scgdz6H2jspに、<logic:iterate id="seihin" name="bean" property="list">と書いたとすると、
struts-config.xmlからname(bean)を検索して、それに関連付けられたアクションを実行するのですよね?
0719nobodyさん
04/12/20 15:25:18ID:???0720nobodyさん
04/12/20 15:26:01ID:???0721nobodyさん
04/12/20 21:38:04ID:???struts-config.xmlではなく、
JSPでいうところのrequest, session, applicationから
beanという属性名のJavaBeanを取り出す。
したがって、Action(を継承したクラス)のexecuteメソッド内で
request.setAttribute("bean", new SampleBean())みたいな形で
JavaBeanをセットするのが普通。
0722nobodyさん
04/12/24 18:36:13ID:9UBZxQ+R最初にこのJSPにアクセスしたときは正常にページが作成されるのですが、
formのsubmitボタンを押してアクションを発生させ、フォームの内容に不備があったらまたこのページに戻ってくるようにさせると、
iterateのnameで指定されたbeanが見つからないと、怒られてしまいます。
なぜですか?分かる方がいたらご教授願います。
0723722
04/12/24 18:55:21ID:???setAttributeのやりかたが問題でした。
req.setAttribute("bean",配列);をコメントして、
session.setAttribute("bean",配列);にしたらできました。
public final class TestAction extends Action{
public ActionForward perform(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse rew){
HttpSession session = req.getSession();
ActionErrors errors = new ActionErrors();
// req.setAttribute("bean",配列);
session.setAttribute("bean",配列);
return(mapping.findForward("success"));
}
}
0724nobodyさん
04/12/24 19:05:36ID:???0725722
04/12/24 20:00:14ID:9UBZxQ+Rすいません。performは使わないほうが良いのですか?
0727722
04/12/24 21:18:35ID:???教えていただきありがとうございます!
execute()にしました。
なんだか楽しくなってきました。
0728nobodyさん
04/12/27 19:06:18ID:EKbjNeu3それを<logic:iterate>で処理してるのですが、ブラウザで最初にアクセスしたときは正常に表示されますが、
2度目以降、以下のようなエラーが出てしまいます。
java.io.IOException: Unable to read entire block; 45 bytes read; expected 512 bytes
Excelファイルから512bytesずつ読めと言うことでしょうか?
0729nobodyさん
04/12/27 21:52:40ID:???0730nobodyさん
05/01/06 08:29:34ID:xG8ETHUh0731730
05/01/06 09:30:07ID:xG8ETHUh0733730
05/01/06 10:17:56ID:xG8ETHUh私もそれを疑ったのですが、Actionクラスのexecute()メソッドをオーバーライドしています。
execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
0734nobodyさん
05/01/06 10:52:18ID:???0735nobodyさん
05/01/06 10:56:55ID:???throws IOException, ServletException じゃなくて、
throws Exception になってる?
>>734
それもあるかもね。
0736730
05/01/06 11:14:03ID:xG8ETHUhthrows IOException, ServletExceptionと書いています。
しかし throws Exceptionでもやはり結果は一緒で真っ白なページでした。
struts.jarのバージョンは1.2.4を使っています。
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse rew) throws IOException, ServletException {
0737nobodyさん
05/01/06 12:20:50ID:???J2SE5で@Overrideつけてコンパイルするのが、一番確実だな。
0738730
05/01/06 13:12:23ID:xG8ETHUhActionクラスは継承してますし、Tomcatの再起動などやっているのですが、どうもうまくいきません。
初歩的な質問で大変申し訳ないのですが、perform()をexecute()にした際に
struts-config.xmlを書き換える必要はありますか?
0739nobodyさん
05/01/06 15:02:53ID:???<logic:iterate>で表示させることはできたのですが、
それらを今度はsubmitで送信し、受け取る場合にどれがチェックされてどれがチェックされてないかを調べて状態別の処理をしたいのですけど
これは大量にあるチェックボックスのsubmit結果を配列で受け取って処理すれば良いのですか?
一つ一つ書けばそれはそれで良いのですが、あまりに大量すぎて手に負えません・・・
0741nobodyさん
05/01/06 19:23:43ID:???大量のチェックボックスを一つの配列にまとめるには、それらを配列オブジェクトに一個一個addしていかなければダメですか?
例えば
a1〜a5の5つのチェックボックスにそれぞれgetter/setterを作って、用意しておいた配列オブジェクトoに
o.add(a1);
o.add(a2);
・・・といった風にするしかないのでしょうか?
0742nobodyさん
05/01/06 20:04:46ID:???配列型を戻すgetterと
配列型を引数に取るsetterを実装するんじゃダメ?
0743nobodyさん
05/01/06 22:57:40ID:???http://www.freeml.com/message/struts-user@freeml.com/0000047
Struts-MLの46から始まるスレに出てます。
多分、この47が一番聞きたい所に答えてると思うけど。
ところで、配列問題ってかなり頻繁に質問されているにも関わらず、
いま出てるStruts関連書籍には、index付きsetter/getterって
載ってないですよねぇ。なぜかしら。
0744nobodyさん
05/01/07 08:35:31ID:???どうもありがとうございます。
参考にしていじってみます。
0745nobodyさん
05/01/11 10:27:39ID:hbl7DHve対象の配列オブジェクトのスコープをsession内有効にしてもgetXXXメソッドが読まれてしまいます。
ActionForm内にgetList01()を準備して、
一度目のActionでこのgetList01()を使用して取得はできるのですが、
二度目以降、"List01"を使用する場合は一度目で生成したオブジェクトを使用したいです。
一度setAttribute("List01",)でList01に配列オブジェクトを関連付けて、
その後のActionではsetAttribute("List01",HttpSession.getAttribute("List01"))でOKかと思ったのですが・・・
iterateタグ使用時にscope属性はsessionにしてあるのですが、どうしてもgetList01が読まれてしまいます。
<logic:iterate id="item" name="List01" property="list01" scope="session" type="xClass">
初歩的な質問で申し訳ありませんが時間のある人が居ればご教授お願いします。
0746nobodyさん
05/01/11 10:50:11ID:kArneliyたとえば、今年の西暦と+1年の西暦。
<html:select property="year">
<html:option value=""></html:option>
<html:option value="2005">2005</html:option>
<html:option value="2006">2006</html:option>
</html:select>
<% %>の中でタグを書いても当然そのまま表示されてしまいます。
どうすればできますか?
0748745
05/01/11 19:38:41ID:hbl7DHve<logic:iterate id="checkItem" name="List01" property="list01" scope="session" type="pkg.MyClass">
ページAから遷移先ページBに遷移して、下記JSP記述ではオブジェクトは存在しているようです。(pkg.hoge@15e8aa5などのように表示される)
<bean:write name="List01" scope="session"/>
しかしこれを下記のように扱おうとすると、javax.servlet.ServletException: Cannot create iterator for this collectionになってしまいます。
<logic:iterate id="item" name="List01" scope="session">
getList01()は、pkg.MyClassオブジェクトを格納するArrayListオブジェクトを返します。
何かわかるかたがいたらご教授願います。
0750745
05/01/12 08:36:26ID:e5ml505Bレスどうもありがとうございます。
List01は同じsession内でiterateを使えているArrayListオブジェクトです。
iterate自体ではscope属性でsetAttributeされたList01を探すことは可能なんですよね?
0752nobodyさん
05/01/12 20:37:20ID:???つーか、
>getList01()は、pkg.MyClassオブジェクトを格納するArrayListオブジェクトを返します。
メソッドを持つList01が、なぜArrayListなんだ?
そもそも自分で作ったクラスなんじゃないの?
0753745
05/01/13 08:54:27ID:???返信ありがとうございます。以下のようなクラスです。
//MyClassオブジェクトを格納しているArrayListオブジェクトを返り値とするgetList01()を持つクラス
public ReturnIterateObjClass{
private ArrayList list01 = new ArrayList();
public ReturnIterateClass(){}
public ArrayList getList01(){
ArrayList list = new ArrayList();
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
list.add(obj1);
list.add(obj2);
return list;
}
}
で、正しいやり方なのかはわかりませんが、次のレスの方法で先程やっと解決しました。
0754745
05/01/13 08:55:24ID:???//JSP
<logic:iterate id="id" name="List" property="list01">
//Action
HttpSession session = HttpServletRequest.getSession();
ReturnIterateObjClass r = new ReturnIterateObjClass();
session.setAttribute("List",r);
+++ 上手くいったやり方 +++++++++++++++++++++++++++++++++++++++
//JSP
<logic:iterate id="id" name="List">
//Action
HttpSession session = HttpServletRequest.getSession();
ReturnIterateObjClass r = new ReturnIterateObjClass();
if (session.getAttribute("List01") == null){
session.setAttribute("List",r.getList01());
}
>749さんの言うとおり、「ダメだったやり方」で、getAttribute("List01").getClass()の結果を見たらArrayListなんかではなく、ReturnIterateObjClassでした。
みなさんのおかげで何とかまた一つ解決できました。ほんとにありがとうございました。また進めて行ってみます。
0755nobodyさん
05/01/23 20:12:30ID:qsfjePjF教えてください。
DispatchActionを基本クラスとして継承クラスを作成した場合
URI parameter属性に呼び出されるメソッドの名称を格納して
callする事ができると聞きました。
parameter="method"で、URLパラメータがmethod=deleteと指定した場合
deleteという名のメソッドが実行される。みたいに。
で継承クラスにexecute()をオーバーライドした場合
delete()とexecute()とどちらもcallされるのでしょうか?
どちらが先にcallされるのでしょうか?
0756nobodyさん
05/01/23 20:49:39ID:???ソースコード見れ。ソースコードは公開されているのだから。
ソースを見れば一目瞭然なのだが、
execute()をオーバーライドすると肝心の振り分け処理を
上書きしてしまうことになり、execute()の中でスーパークラスの
execute()を明示的に呼ばない限り、delete()は呼ばれない。
0757nobodyさん
05/01/23 20:56:33ID:???ソースを見て調べるようにしますが回答頂き成る程ガッテンつきました!
ありがとうございました。
0758nobodyさん
05/01/23 22:20:33ID:???0759nobodyさん
05/01/24 21:06:26ID:???0760nobodyさん
05/01/24 23:27:37ID:???脱初心者必見という感じ。
0761nobodyさん
05/01/26 02:19:46ID:???0762nobodyさん
05/01/26 09:14:22ID:???0763nobodyさん
05/01/26 22:21:30ID:???0764nobodyさん
05/01/26 22:47:52ID:???0765nobodyさん
05/01/27 02:48:16ID:???0766nobodyさん
05/01/27 08:31:49ID:???http://pc5.2ch.net/test/read.cgi/tech/1094954163/
0767nobodyさん
05/02/18 01:43:01ID:crwium7JCactusStrutsTestCsaeをやってるんですが、
VerifyFowardでmappingできないって怒られます・・・
ちゃんとstruts-configのパスはあるんですが・・・
あと、eclipseのデバッグで
perform先にブレークポイントしても止まらないのです・・・
actionが呼び出されてないのでしょうか?
こういうものでしょうか?
初心者なのでさっぱりわかりません・・・
よろしくです・・・
0768nobodyさん
05/02/18 07:50:07ID:???質問の要点を整理して出直せ。
> 初心者なのでさっぱりわかりません・・・
あなたは質問の初心者みたいなので、こちらもあなたの状況がさっぱりわかりません・・・
0769767
05/02/18 10:27:57ID:T6/5M4uYverifyForward("success");
の箇所で、Junitで
「Was expecting '(コンテキストルート)/WEB-INF/XXX.jsp' but it appears the Action has
tried to return an ActionForward that is not mapped correctly」
とエラーが出るのです。
ちゃんとパスもあっていて、ファイルも存在しているのです。。
sturts-config.xmlは
<action path="/test/login"
type="xxxx.xxxx.xxx.loginAction"
name="login"
scope="request"
validate="true" >
<forward name="success" path="/WEB-INF/XXX.jsp" />
<forward name="failed" path="/XXX.jsp" />
</action>
こんな感じです。
CactusStrutsTestCaseって、サーバー側にテストClassファイルを置かないと
ダメなんでしょうか?
AntでJunitを実行するのですが、クライアント側だけで実行できないんですかね・・?
ClassファイルもBuild.xmlもサーバー側でやらないと上手くできません。
クライアントから出来るって話を聞いたんですが・・・
ブレークポイントの件はもうちょい調べてみます。
すみません、、お願いしますです。。。
0770767
05/02/18 22:18:34ID:CZcitnmHすんません。解決しました。
executeをオーバーライドしてませんでした
というか、Actionクラスを継承して
独自のXXXexecuteを使ってるのが原因でした
これからすべてのActionクラスにexecuteを書いてsuperするのかと思うと・・・
お騒がせしましたー
0772770
05/02/18 23:51:28ID:KEaw0I+vexecute→XXXexecuteとうまくマッピングできていて
明示的にオーバーライドする必要がなかったんです。
(代わりにXXXexecuteをオーバーライドする必要)
でもTestCaseのactionPerform()では
そこまで参照されず、executeを呼び出していたので
Actionができなかったのが原因です
Testのために、全部に明示的にexecuteを書くのが億劫で・・・
0773nobodyさん
05/02/21 15:43:15ID:sN6ntzqc0774nobodyさん
05/02/21 15:56:45ID:???0775nobodyさん
05/02/21 17:25:49ID:beK1sFFtvalidator.xmlで「全てのフィールドが未入力」だった場合に限りエラーを返したいのですが、
validator.xmlにはどのように記述すれば良いのですか?
↓これでできたら嬉しかったんですが。
<formset>
<form name="SampleForm">
<field property="field1,field2,field3" depends="required">
<msg name="required" key="error.全部未入力"/>
</field>
</form>
</formset>
0776nobodyさん
05/02/21 17:31:22ID:???0777775
05/02/21 17:55:04ID:beK1sFFtすいません。
0778nobodyさん
05/02/21 21:56:41ID:???この場合、ActionFormの方でチェックかける方がのぞましいと思うけど。
0779nobodyさん
05/02/21 23:06:46ID:???部署を選ぶと選択可能な役職が出てくる、そんなページを作っているんですが、
役職名が取得できなくて困っています。
詳しくはかけないのですが、以下のようなオブジェクトを作りました。
class form{
List postList;
}
class post{
String id;
String postName;
List jobTree;
}
class job{
String id;
String jobName;
}
部署名などはpostクラスに、役職名などをjobクラスに保存。
postListに複数のpostを格納、さらにpostのjobTreeに複数のjobを格納しています。
(セッターゲッターはあると思ってください。)
一応<html:optionsCollection>を使って、部署名を取得、表示はできたのですが、
役職名を取得する方法がわかりませんでした。何か良い方法は無いでしょうか?
ちなみに、部署名を変更させた際、役職も変化させる予定です。
0780nobodyさん
05/02/22 00:51:47ID:???お前は動的にコソボボックスの中身を変化させたいのかと?
0781nobodyさん
05/02/22 01:16:25ID:???0782775
05/02/22 08:33:55ID:rep4z0ferequiredifでいけるかなあと思ったんですけど、やっぱり無理な気がしてしまい、質問させていただきました。
おっしゃられるとおりActionForm側で行うことにします。
ちょっと聞きたいのですけど、小規模(フォームのページ数が10ページ程度)なアプリケーションの場合、
フォーム検証処理を別ファイルであるvalidation.xmlで行うよりも
ActionFormで行うほうがわかりやすいような気がしたのですが、皆さんはどう思いますか?
柔軟さの面や保守性の部分の視点等、みなさんの意見が聞いてみたいです。
0783nobodyさん
05/02/22 11:48:17ID:???それでもValidator使った方がいいよ。保守性・再利用性が高い。
requiredifがダメなら、ルールを自作しろ。
ちなみに、Struts1.2.xではrequiredifは非推奨だ。
0784nobodyさん
05/02/22 11:55:22ID:???>ちなみに、Struts1.2.xではrequiredifは非推奨だ。
おや、初耳
良ければなんで非推奨なのか教えてくり
0786nobodyさん
05/02/22 13:38:13ID:???こんなページもあるでよ。
ttp://kamakura.cool.ne.jp/oppama/ssja/struts-complex-validation.html
0787nobodyさん
05/02/24 04:18:25ID:???の引数に inputForm, outputForm が無いのはおかしいと思いませんか?
execute( ActionMapping mapping, ActionForm inputForm, ActionForm outputForm, HttpServletRequest req, HttpServletResponse res)
みたいに。
じゃねーと、A.jsp ⇒ Action ⇒ B.jsp という画面遷移があった場合、
AとBの入力or出力項目って同じじゃねーと違和感でるよな?
0788nobodyさん
05/02/24 05:23:12ID:???出力オブジェクトをわざわざActionFormのサブクラスに限定する必要性がない。
Strutsは入力の処理だけしてくれればいい。
0789nobodyさん
05/02/24 07:06:13ID:???それだとさ、JSP(V)とAction(CもしくはM)が依存しちゃうってことにならない?
0791nobodyさん
05/02/24 07:22:52ID:qkldD1gKみんな出力用オブジェクトはどうしてるの?
あ、テキストボックスに出力して、そのまま次の画面の入力項目にもなるようなやつね。
0792nobodyさん
05/02/24 07:24:41ID:???0793nobodyさん
05/02/24 07:29:55ID:???入会登録なんかは、入力画面⇒確認画面⇒保存ロジック
まで、同じ form が使えるってのはたやすく理解できる。
しかしだな、Aで選択した条件で 次にでてくる画面が切り替わるっていうのはよくあることじゃない?
0794nobodyさん
05/02/24 08:05:12ID:???出力用のオブジェクトがActionFormのサブクラスである必要もないし
execute()の引数に入っていなければならない必然性も感じない。
0796nobodyさん
05/02/24 08:57:40ID:???0797nobodyさん
05/02/24 10:04:16ID:???内部処理によって違うFormを持つページに飛ばすときはどうすんだ?
0798787
05/02/24 13:57:13ID:qkldD1gKすまん、漏れが悪かった。
特に>797はスマンかったとしか言いようがない。痛すぎ。
ActionFormは入力用に使えという教えには従うとして、じゃ、出力時はどうすればよいのか?
>797を踏まえて教えてくれ。
例)
複数ページに振り分けるActionで、振り分け先のページで表示するコンボボックスの内容(マスタ)が動的に変わる場合、
2ch的にマスタやその他のデータ類はどうやってそのページへ渡すべきなのか?
# やっぱりHttpServletRequestに引っ付けるべき??
0800nobodyさん
05/02/24 21:11:37ID:???俺もそう思う。
ひょっとしてrequest.setAttributeを1回しかしてはいけないとかいう社内ルールでもあるの?
0801nobodyさん
05/02/24 21:50:49ID:???ただrequestスコープに入ってればそのままjspで参照できるよね、という話・・・だよね?
俺も最初このことになかなか気付かなくて混乱してた。
0802nobodyさん
05/02/24 23:00:38ID:???そうそう。そういう意味です。
普通はそうしないんだ・・・
でも次のページで、違うActionにSubmitする場合、
表示時の名前と送信するための名前が違うってことにならない?
0803nobodyさん
05/02/24 23:18:24ID:???入力を受け取るためのActionFormは当然あって、表示用の方(前のページの入力)のActionFormrequest#getAttributeでアクセスすればいいんじゃね?
0804nobodyさん
05/02/24 23:25:44ID:???え、なにそれ?
前のページでRequestに引っ付けたobjectって、後のページ(Action)で、getAttributeで取れるの?
0805nobodyさん
05/02/24 23:40:30ID:???AというページとBというページがあって、Aで入力した結果を基にBを表示し、またBにも入力フォームがある、というようなケースじゃないの?
というか、そういう前提の話だった。
0806nobodyさん
05/02/24 23:42:33ID:???かつ Form の単位は画面ではなく 1 機能にしろ。
でスコープは session。これ最強。
明示的に request.setAttribute なんかダサいことすんな。
これを基本として、設計が美しくできるなら、画面単位に
分けれるとこは分けて request スコープにしたり、
動的コンボなどを session の属性にセットしたりすればいい。
0807nobodyさん
05/02/24 23:46:22ID:qkldD1gKそうそう。そのとおり。
でも、AとBの入力フィールドは全く違う構成なわけ。
そこでgetAttirbuteが使えると、俺はカナリ楽になるはず。ってことで、今試してみてる。
はぁ・・完全弐徹目だ。
今まで簡単なパターンでしかStruts使ってなかったから、今回ちょっと苦戦中・・
しかも某社のフレームワーク(Strutsラッパ)とやらのせいで息苦しい・・。
動く状態までは作ったんだけど、どうもメンテとかMVCとか今後のことを意識すると
自然と何度も設計しなおしてるし・・org
まぁ単純に自分の技術不足と調査不足のせいだと分かってるから、すげー腹が立つ・・
0808807
05/02/24 23:49:04ID:???で、しかも属性は全てStringにしろとか言うんだろ?
0810nobodyさん
05/02/24 23:53:43ID:???あー、そうだな。WebSphere、Weblogic、Tomcat 上で
様々な Struts 劣化ラッパを使って開発してきたが、
そのほうが入力チェックとか考えると楽だろ。
何百画面とかあると、俺的にはそのほうが管理が楽だ。
0813nobodyさん
05/02/24 23:59:28ID:???1.画面Aでsubmit
2.Action Aが起動して中で色々処理
3.Action Aでsuccessを返す
4.画面Bを表示
4で2の部分のActionFormは当然見える。
0814nobodyさん
05/02/25 00:09:20ID:???>810
>811
そもそも画面用のActionFormと、ほぼ同じ内容になると思われるエンティティを二つ準備するのは無駄かなと俺は思う。
チェックの問題ってIntegerとかの話か?nullにならないとか。
AbstractActionFormみたいな抽象クラスで ConverterUtil を呼んで何とかしてる。
逆に聞きたいが、何十もネストしたテーブルを作ることがあるかと思うが、その場合はそれ用のAF(StringばかりのAF)をずらーっと作るわけ?
>812
当然そうなんだが、どうもしっくり来ない。
詳しくは面倒なんで説明せんが、とりあえず微妙なんだw
0815nobodyさん
05/02/25 00:17:00ID:???ネスト?
関連が強いなら当然、インナークラスだろ。
メンテナンス性が低下しないならインナークラスの多段ネストでもいい。
再利用性があるなら、普通の外だしクラス。POJO。
Form はそのコレクションの単純なアクセッサ、入力可能なら
int 引数付き getter も用意。
0816nobodyさん
05/02/25 00:19:38ID:???それは理解できる。
今回は、
5.画面Bでsubmit
6.Action Bが起動
って流れなわけ。
で、1で送信したActionFormと、5で送信したいActionFormの内容が違う場合なんだよな。
そしたら画面BのJSPってなんかおかしいことにならない?
1のAFも表示したいけど、5のAFも送信したいわけ。
0817nobodyさん
05/02/25 00:21:59ID:???>普通の外だしクラス
ってのはStringだけのAFのことよな?
Formについては理解してる。OKOK。
それで入力受けた後、エンティティに値を放り込むわけよな?
そこは自作のコピーユーティリティ?
0818nobodyさん
05/02/25 00:23:38ID:???だから、そういう画面だったら1Form だろ。
全然違う機能だったら、Action で別 Form を new するなり、
BeanUtils なり手動なりでコピーしれ。
・・・眠いから寝る。
0820nobodyさん
05/02/25 01:15:26ID:zGPxgdzBまぁ当然できるわけ無かった。
req.getAttirbuteは、当然そのリクエスト範囲でしか有効ではない。
前のActionのリクエストなんか見れるわけ無いからね。
sessionなら多分いけると思う。
が、sessionはできるだけ使わないようにせんとね。だから却下
>818
最後は俺がしつこいから少々面倒だったと思うが、勉強になった。ありがとう。
俺はやっぱりAFとエンティティの二つを作るのは嫌だからAF=エンティティなノリで行くわ。
0821nobodyさん
05/02/25 03:52:21ID:bTaebwTj0822nobodyさん
05/02/25 09:16:27ID:???0823nobodyさん
05/02/25 12:37:03ID:???項目数が変わる程度の固定フォームの入力結果を、Javaのオブジェクトにまとめてくれるだけのライブラリだよ。
ActionFormを表示で使いまわすのは、まぁ好きにやってくれと。
0824nobodyさん
05/02/25 13:06:51ID:zGPxgdzB動的に項目数が変わる複雑っぽいフォームはやっぱり面倒かな?
0825820
05/02/25 22:46:08ID:???ActionForm の属性が String なんてどうでも良い。
問題は ActionForm の中のネストした部分が、ActionFormであるかどうかだ!
エンティティそのまんま引っ付けたら reset, validate も呼べない(使えない)んだよな
つくづくあふぉだなぁと思った
すまんみんな。
つか、俺の作業報告書みたいになって巣マソ
0826nobodyさん
05/02/25 22:53:26ID:???0827nobodyさん
05/02/25 23:01:01ID:???つかえるけど?
0828nobodyさん
05/02/25 23:06:19ID:???0829nobodyさん
05/02/25 23:23:03ID:???Struts in Actionに、「なぜActionFormはインターフェイスじゃないのか」みたいなこじつけとしか思えない理由が書いてあった。
0831nobodyさん
05/02/26 00:58:37ID:???設計ミスとしか思えない
0832nobodyさん
05/02/26 02:15:39ID:vpZ2inME普通の ValidatorForm で JavaScript のチェックをかけることはできる。
ValidatorFormのListの中に入れたクラスに対して JavaScript でのチェックがかけれないんだけど、
これってどうしようもないんかなぁ?
0836nobodyさん
05/02/26 12:08:18ID:???0837nobodyさん
05/03/08 22:37:02ID:???Strutsのライブラリをリンクした一般Javaアプリケーションでの話なんですが、
ModuleConfigインスタンスを、お手軽にstruts-config.xmlに戻す方法はないでつか?
逆(ファイル名を指定してModuleConfigインスタンスを取得)は、Digesterと
org.apache.struts.config.ConfigRuleSetを使えば、簡単に出来ました。
お手軽Struts-configエディタを作るのに、いちいちDOMとかSAXとかいぢるのは面倒かと思って。
0838nobodyさん
05/03/09 20:24:27ID:???<bean:write "ほげほげ"/>
<html:errors />
<html:text property="text"/>
</logic:iterate>
とやって、複数行テキストを入力させて、入力エラーになった行だけにエラーマーキングをしたいのですが。
<html:errors />を、<logic:equal>で囲ったり、試行錯誤していますが、いまいち巧いやり方が分かりません。
誰か良い知恵を授けてください。
0840nobodyさん
05/03/14 02:17:45ID:J20fAtXMがでるのですが、誰か教えてください。。。
お願いします。。
0841nobodyさん
05/03/14 04:12:34ID:???それもだめならwork以下削除
0843nobodyさん
2005/03/21(月) 11:24:39ID:???>>186の対応をしても、同様の現象が治まりません。
struts-config-foo.xml(分割後)には、
<action path="/hoge" forward="/hoge.jsp" />
を記述。
違うところは、0サイズのインラインフレームを呼び出しているところだけです。
呼び出し元JSPは、
<iframe src="/hoge" 縦=0 横=0></iframe>
src="hoge.jsp"がダメなのは>>185さんの説明で理解できたのですが、
上記のように、action経由にしても、Cannot retrieve action mapping /hoge
と言われてしまいます。
呼び出し元JSP、呼び出し先JSPともに、foo/xxx.JSPにあります。
また、呼び出し先JSPにも、<html:form action="/hogehoge">を記述し
こちらは、JavaScriptよりsubmitを行っていますが、
こちらも同様に、Cannot retriece action mapping /hogehogeと
怒られてしまいます。
どなたか解決策のご教授を・・・
0844nobodyさん
2005/03/26(土) 13:30:58ID:omE1qwtI例えば掲示板などのWEBサイトで、レス表示ページと書き込みフォームページが一緒になっている場合(2chのスレッドなど)、
「1.jsp」と言うページから書き込みを行い、書き込み成功後の遷移先として同じurlのページ(「1.jsp」)を指定し、
書き込んだ内容が反映されている、と言うような動作をさせたいのですが、
書き込み後1.jspに遷移させてもキャッシュがロードされてしまい、ブラウザの更新ボタンを使用しないと反映されたページが表示されません。
これは、どのように対処すればよろしいのでしょうか。
誰か分かる方がいらっしゃいましたらご教授よろしくおねがいします。
0846nobodyさん
2005/03/27(日) 20:11:57ID:???0847844
2005/03/28(月) 09:04:00ID:???お礼が遅くなってしまい申し訳ありません。
上記方法で試してみたところ無事やりたいことが実現できました。
教えていただき、どうもありがとうございました。
0849nobodyさん
2005/03/31(木) 17:40:49ID:???Struts的解決なら、struts-config.xmlに
<controller nocache="true" />
なのだが。
0851nobodyさん
2005/04/05(火) 21:08:04ID:4w6hgIMg動的に数が変化するhtml:checkboxを使用しています。このcheckboxにvalue属性で初期値(文字列)を与えています。
String配列でgetter/setterを作成し、チェック状態のときその初期値を取り出すことはできたのですが、
reset()メソッドが思うようにききません。
ActionFormは以下のようになっています。
public class TestForm extends ActionForm {
private String[] checkList = new String[128]
public String getCheckList(int index) {return this.checkList[index];}
public void setCheckList(int index, String str){this.checkListGroup[index] = str;}
public void reset(ActionMapping map, HttpServletRequest req){
for (int i = 0; i < this.checkList.length; i++){
setCheckList(i,null);
}
}
}
checkbox部分JSPは以下のようになっています。
<logic:iterate id="id" name="ArrayListObject" scope="session" indexId="idx">
<%-- id(ArrayListObjectの要素)はString型の値です --%>
<html:checkbox property='<%="checkList[" + idx + "]"%>' value="<%=id%>"/>
</logic:iterate>
誰か分かる方がいらっしゃれば教えていただけないでしょうか。
0852nobodyさん
2005/04/06(水) 21:47:06ID:XXaMulFtファイル名を入力した後、別画面に飛んで、また戻ってくるときれいさっぱり消えてしまいます。
0853nobodyさん
2005/04/06(水) 22:24:38ID:???Strutsの問題ではなく、html的に<input type="file">に値をセットするのはムリ。
(巨大なセキュリティーホールになるため)
必ずユーザオペレーションでファイルを選択するか、ファイルパスをコピペするしか方法はなすぃ。
0854nobodyさん
2005/04/06(水) 22:39:30ID:???> ActionFormは以下のようになっています。
> public class TestForm extends ActionForm {
> private String[] checkList = new String[128]
> public String getCheckList(int index) {return this.checkList[index];}
↑public boolean getCheckList(int index) {return this.checkList[index].equals("true");}
> public void setCheckList(int index, String str){this.checkListGroup[index] = str;}
↑public void setCheckList(int index, boolean bool) { this.checkList[index] = bool ? "true":"false";}
> public void reset(ActionMapping map, HttpServletRequest req){
> for (int i = 0; i < this.checkList.length; i++){
> setCheckList(i,null);
↑は、setCheckList(i, "false");
> }
> }
> }
>
> checkbox部分JSPは以下のようになっています。
> <logic:iterate id="id" name="ArrayListObject" scope="session" indexId="idx">
> <%-- id(ArrayListObjectの要素)はString型の値です --%>
> <html:checkbox property='<%="checkList[" + idx + "]"%>' value="<%=id%>"/>
> </logic:iterate>
>
とすれば、value="true" or value="false"になっていいんでね?
0856nobodyさん
2005/04/06(水) 22:54:44ID:???あ。ごめ。
> setCheckList(i,null);
↑は、setCheckList(i, false);
> }
> }
> }
>
> checkbox部分JSPは以下のようになっています。
> <logic:iterate id="id" name="ArrayListObject" scope="session" indexId="idx">
> <%-- id(ArrayListObjectの要素)はString型の値です --%>
> <html:checkbox property='<%="checkList[" + idx + "]"%>' value="<%=id%>"/>
↑<html:checkbox property="checkList" value="id"/>
ね。
これなら、Stringでなくbooleanの配列でもいいか・・・
敢えてStringにする理由があるなら、setter/getterはStringのままで。
0858nobodyさん
2005/04/07(木) 17:12:28ID:???ありがとうございました。あきらめることにするです。
おれもココで答えられるようなオトナになるためにがんばるぞー!
0859nobodyさん
2005/04/10(日) 00:20:23ID:???いつまでも独学は不安なので、自分の独学部分が正しいか
検証することも踏まえて、なんか本を買おうと思うのですが、
・これは読め
・これは糞だから読んじゃだめ
などありましたら、ご紹介いただけますか?
0861nobodyさん
2005/04/19(火) 13:44:10ID:???<html:select property="targetId" size="6" multiple="1" >
って感じで作ったリストのOPTIONに、
SELECTEDを付けてあらかじめ選択しておくことはできたんですが、
選択した項目が下のほうにあった場合、選択はされているけど、
スクロールバーを動かさないと見えない、という状態になりました。
multipleをはずすと、ターゲットが見えるように移動してくれるのですが、
仕様的にmultipleを使わなければならないので、なんとかしたいです。
あらかじめ見えるように移動してくれるほうほうはないでしょうか?
0862nobodyさん
2005/04/19(火) 21:50:22ID:???0863nobodyさん
2005/04/22(金) 00:37:35ID:???をしています。
この状態で strutstestcase は使えるのでしょうか?
テスト流そうとすると struts-config ロードした時点でエラー
になってしまいます。
0866nobodyさん
2005/04/22(金) 01:17:22ID:???自己レス。ひょっとして struts-config に書くのではなく、
*.java の中で自分で管理せよ、って意味かな。
具体的にはどうしたらいいんですか?
0869nobodyさん
2005/04/22(金) 12:09:34ID:Rd3I4sA90871nobodyさん
2005/04/23(土) 00:58:19ID:???実は開発は Tomcat ですが、完成すれば WebSphere
にのせることになります。なので、Tomcat 側で DB の
記述するのは、だめかなと思います。
0875nobodyさん
2005/04/27(水) 00:58:25ID:???自己レス。JNDI で書き換え完了。
Tomcat の server.xml <context> に書くとこでミスった。
各webアプリの context に書かないとだめだった。
0876nobodyさん
2005/04/27(水) 01:06:51ID:???0877nobodyさん
2005/05/16(月) 14:44:33ID:???sessionにBindされた情報、jsp記述、DBの処理、SQL記述べた書き、乱立するアクション、肥大化するマッピング、恐ろしい仕様、面倒見切れません・・・
誰か助けて 。゜(つд∩)゜。
0878nobodyさん
2005/05/16(月) 17:17:43ID:???ところでそれStrutsとどういう関係が?
0879nobodyさん
2005/05/16(月) 23:35:44ID:???Strutsで大量の画面フローを1つのコンテキストに収めるとそうなるといってんじゃないの?
まあ、>>877もあせってて、意味不明なカキコになってるような気もするが。
0880nobodyさん
2005/05/26(木) 00:46:59ID:???自己レス。やっと strutstestcase 動くようになりました。が、新たな
問題発生しました。setUserRole() ではひとつのロールしかセット
できません。実際は複数のロールに属しています。strutstestcase
のコードみたら、
public boolean isUserInRole(String s)
{ return s.equals(userRole); }
public void setUserRole(String role)
{ userRole = role; }
となっています。複数設定するにはどうすればよいのでしょうか。
0882nobodyさん
2005/05/26(木) 11:51:26ID:???0883nobodyさん
2005/05/27(金) 23:23:04ID:iwPrxZfg0884nobodyさん
2005/05/27(金) 23:45:43ID:???0885nobodyさん
2005/05/28(土) 00:36:21ID:???HttpServletRequestSimulator.java の isUserInRole() を
public boolean isUserInRole(String s)
{
if( userRole.indexOf(s) >=0 ){return true;}
else{return false; }
}
に変えて作った class ファイルに置き換えたら希望通りの
機能になりました。
ところで、こういうやり方じゃなくて メソッドオーバーライドで
テストケース内に直接書くことはできないのでしょうか。
0886nobodyさん
2005/05/30(月) 22:26:27ID:???できないのでしょうか。テスト失敗したとき、どこでこけたか
わからず苦労します。
0887nobodyさん
2005/05/31(火) 20:42:37ID:???0888nobodyさん
2005/05/31(火) 23:52:09ID:???Eclipse で使っているのですが、ブレークポイントセットしても
ストップしません。もう一度やってみますが、
>>887 さんは実際に経験あるのですか?
0890nobodyさん
2005/06/01(水) 23:35:14ID:???ごめん。ブラウザでアクセスしたらブレークするけど、普通にEclipse から
Run(実行) したらブレークポイントセットしていても止まらないんだね。
メニューからDebug選んだらちゃんと止まった。
0891nobodyさん
2005/06/11(土) 02:12:21ID:OxaXLAkyhttp://struts.application-servers.com/
これ使ってる奴いる?
日本語環境でも問題なく便利に使えるのかな??
0893nobodyさん
2005/06/12(日) 09:52:23ID:???どんなものか簡単に教えて。
単にHTMLのフレームに対応したっていう感じのもの?
tilesとは何が違うの?
0894nobodyさん
2005/06/12(日) 14:45:10ID:pQiMuddu概要はここに載ってる。
http://hiki.ex-machina.jp/JSP/?Struts-Layout%A4%CE%B3%B5%CD%D7
なんか、検索してみるとJSFと同じような方向性のツールっぽいけど、どうなんだろ。
実際に使ってサンプルとか公開してる人いないかなぁ??
0895初歩的な質問で申し訳ありませんが。。。
2005/06/13(月) 11:27:15ID:HDNGcZXO【現象】:struts-config.xmlのscopeをsessionにすると、上記画面遷移がうまくいく。requestにするログイン画面→確認画面→ログイン画面と戻ってしまいNG。
です。ログイン画面→確認画面遷移時にパラメータAをpostしているのですが、requestにするとそのパラメータAが確認画面→完了画面遷移時にnullの為Actionクラスが呼ばれない様に見受けられるのです(ログ入れて調査)。
てか、そもそもActionServletがそんなパラメータの有無でstrutsのリクエストかどうか判断する処理なっているものなんでしょうか?
この辺の判断の処理がどうなってるかご存知の方、又は同じような経験をされた方、どなたかご教授下さい。よろしくお願いします。
0896nobodyさん
2005/06/13(月) 22:02:14ID:???それから、お前のプログラムで、サーバとクライアント間でどのようにデータが流れるのか理解しろ。
0897nobodyさん
2005/06/14(火) 01:20:55ID:???あ、それ書いたの俺だ。
すげー適当に書いてほったらかしたまま。 心より恥じる。
ちなみに最近はStrutsやってないんで触ってませんが
地味にバージョンあがってるようですね。
JSFとか大層なモンじゃなくて、主にUIの強化です。
HTMLのUIパーツのヘボさを補うために、JavaScriptとか生成してくれます。
テーブルのページとか編集、ソート等、自分で書くと面倒だし、かといって
ちょうどいいタグライブラリが出回ってないような部分が充実してます。
テーブルとメニュー、レイアウトはかなり重宝しました。
0898nobodyさん
2005/07/03(日) 00:02:00ID:g/N41TfH会社で.netに移行する動きがちらほらする
JSFをとりあえず勉強したものがいいものか
0899nobodyさん
2005/07/03(日) 05:53:20ID:???別に.NETに移行してもいいんじゃない?
自分の中で、今までJavaで身に付けた技術や知識を腐らせないように、
多少でも勉強を続けておけば、.NETでもJavaでも提案できるようになるだろ?
俺も客先によって、.NETやJava、PHPと色々とやってきたおかげで
今では殆どのWebアプリの案件の開発が出来る。
0900nobodyさん
2005/07/03(日) 07:06:54ID:???0901nobodyさん
2005/07/03(日) 10:32:53ID:???http://mictan.gozaru.jp/struts/index.html
ここよりももうすこし説明が詳しい方がいいんですが。
atmarkitとかは難しくて。。。
0902nobodyさん
2005/07/03(日) 20:31:29ID:???0903nobodyさん
2005/07/04(月) 18:37:20ID:XaCP499J0904nobodyさん
2005/07/04(月) 23:16:58ID:TU4JC3n90905nobodyさん
2005/07/07(木) 11:45:37ID:LtmvbCkCどうやれば良いのでしょうか?
<logic:redirect href="xxx"/> ←xxxの部分を動的に変えたい。
0906nobodyさん
2005/07/07(木) 12:10:52ID:???0907903
2005/07/07(木) 18:38:08ID:b/mSczCXというか、Actionからではなく、リクエストが上がってきたときに
DynaActionFormに値がセットされる前にしたいんだけど。
0908nobodyさん
2005/07/07(木) 19:22:41ID:???単純に初期値をセットしたいなら、initial属性で設定。
もうちょっとゴニョゴニョしたいのなら、DynaActionFormのサブクラスを
自作してreset()をオーバーライドするか、Dynaは使わない。
個人的感想:
そもそも、DynaActionFormなんてメリットよりデメリットの方がでかすぎで
使っても嬉しいことはあまりないと思う。
0909903
2005/07/07(木) 19:28:05ID:b/mSczCXサンクス
ところで、あと、validation.xmlを使っていて
<field property="pass" depends="mask">
<arg0 key="prompt.pass"/>
<var>
<var-name>mask</var-name>
<var-value>[a-z0-9]{5,16}</var-value>
</var>
</field>
と設定すると、5文字まではチェックされるんだけど、それ以降は
チェックされず、英数字以外が入っていても17字あっても通って
しまうんだけど、何ででしょうか。バグですか、それとも。。
0910nobodyさん
2005/07/07(木) 19:35:32ID:???じゃなくて
<var-value>^[a-z0-9]{5,16}$</var-value>
としてみると、どう?
ドキュメントには、正規表現の指定は^と$で囲めと書いてあるよ。
0911903
2005/07/07(木) 22:58:23ID:44PhT5Xuできました!!
ありがとうございます。気づきませんでした。
結構細かいところが重要になりますね。
0912nobodyさん
2005/07/10(日) 00:17:52ID:???これから新規で開発する人、頼むから普通のActionForm使ってくれ。
0914nobodyさん
2005/07/10(日) 01:02:05ID:???俺は>>912ではないが、こういった点がイヤだった。
・プロパティの型や名前が実行時解決である(コンパイル時にチェック不可能)
・set()にセットするオブジェクトが指定の型に変換できるかどうかも実行時解決である(コンパイル時にチェック不可能)
・Beanのネスト構造が使えない(プロパティは全部ベタで実装し、Actionクラスで適切なデータ構成に変換しなければならない)
0916nobodyさん
2005/07/19(火) 09:40:57ID:B9k8AExUログインを行う画面login.jspがあり、このjspではアカウントとパスワードを入力し、submitボタンでログイン処理を実行します。
このときのアクション名はlogin.doです。
次に、特定のアカウントのみアクセスできるhoge.jspがあります。
認証を行うためにlogin.jspを経由します。アクセス権のあるアカウントだったらhoge.jspに遷移します。
この、hoge.jspに遷移した後、ブラウザのURLアドレスバーにはlogin.doが入力されています。
ここをhoge.jspに入力させておく方法はあるのでしょうか?
誰かご存知のかたがいらっしゃいましたらご教授願います。
0917nobodyさん
2005/07/19(火) 10:58:48ID:???おはよう。
<forward ..... path="/...../hoge.jsp" redirect="true">
ここも読んでおきなされ。
ttp://ch.kitaguni.tv/u/1677/Struts/0000027442.html
0918nobodyさん
2005/07/19(火) 13:37:29ID:???どうもありがとうございます。参考ページまで教えていただけて助かります。
0919& ◆tNtHsziLno
2005/07/20(水) 13:55:49ID:vT0JkkZSまだ、STRUTSなんつってんだぁ、こんなもんいつまでみんな
使い続けるの?
EJBに騙された時と同じだよ。
だめなもんは、ダメ!
もうJAVAはお先真っ暗だよ。
0920nobodyさん
2005/07/20(水) 21:39:40ID:???Strutsも、単に入力データをBeanにまとめてくれて入力チェックしてくれるだけだから、便利に使えばいいと思う。
0921nobodyさん
2005/07/20(水) 22:53:15ID:???0922& ◆tNtHsziLno
2005/07/21(木) 13:45:55ID:Yejbz1QVいや、騙されてますよあなたは。
だって、EJB3のドキュメントなんて、全然そろってないじゃんか。
JBOSSにいってさんざんしらべたけど、
EJB3 Full document のページになぜかHibernateの
マニュアルがおいてあるだけで。
だいたい、SUNが仕事遅すぎるよ。そんなだから、後発のドトネトに
負けるんだよ。
0923nobodyさん
2005/07/21(木) 13:56:15ID:???0924nobodyさん
2005/07/21(木) 14:41:58ID:???時々まねーじゃ、時々SEと呼ばれる、メールと謝罪だけが仕事の人じゃない?
0926nobodyさん
2005/07/21(木) 14:45:20ID:???EJB2コンテナは、つくりはしっかりしてたのにプログラムの組みやすさから敬遠されてたけど、EJB3でプログラム組みやすくなって万事おけ
HibernateとEJB3の関係知れば、現段階で永続化に関してはHibernateのドキュメントでも一向に構わんよ。
0927nobodyさん
2005/07/23(土) 13:19:12ID:t6KMLNpwって変更したら動的に再読み込みしてくれないの?
いちいちtomcatを再起動するのは大変なんだが。
0929nobodyさん
2005/07/25(月) 09:18:38ID:???面倒ならソースパスの下に入れれば良いのでは。
0931nobodyさん
2005/07/25(月) 19:56:51ID:Fc9EXQSfインターネットブラウザから日本語ファイルにアクセスしようとして、
直接ブラウザのアドレスバーにパスを入力すれば参照できるのに、
以下のようにlogic:redirectを使用すると見えなくなるのは何故なのでしょうか?
<bean:define id="path" name="PATH" type="String"/>
<%-- PATHの中身=file://hostname/日本語ファイル.xls --%>
<logic:redirect href="<%= path %>"/>
0933nobodyさん
2005/07/28(木) 22:38:48ID:???どうすればよいのでしょうか。たとえば毎日曜日 12:00-13:00 のみ
分岐するコードがあります。パソコンの時刻を変えたらひとまず
テストできるのですが。。。
0934nobodyさん
2005/07/28(木) 22:44:44ID:???Eclipse の Tomcat sysdeo プラグインってTomcat自体をリロードするよね?
アプリだけの再起動って sysdeo じゃできないの?
0935nobodyさん
2005/07/28(木) 23:03:16ID:???簡単な方法としては、現在時刻を可能な限り外側から与えるようにする
hoge(){
if(new Date() < 2005/2/6){
。。。
と書くのではなく
hoge(Date now){
if(now < 2005/2/6){
。。。
と書く
0938nobodyさん
2005/07/28(木) 23:41:03ID:???アプリのみリロードだよ。
Tomcat自体のリロードってなんだよ?
再起動とリロードは違うぞ。
プロジェクトを右クリック→Tomcat→Reload This Contextだよ。
0940nobodyさん
2005/07/29(金) 00:06:29ID:???sysdeo インストールしたらEclipse上にアイコン3つできるけど
いつもそれ押してる。これってTomcat再起動していると思うけど
(時間かかるし、Consoleメッセージでも分かる)。
ブラウザから Tomcat の ../manager/list にアクセスしてアプリの
リロードしたらかなりすばやくリロードするけど。
Reload This Context 試してみるわ
0941nobodyさん
2005/07/29(金) 00:17:33ID:???それはTomcatの再起動。リロードではない。
プロジェクト右クリックからのリロードは、
Tomcat Manager App の再ロードと同じ。
ウィンドウ→設定→Tomcat→Tomcat Manager Appでユーザ名とパスワードを設定するのを忘れずに。
0942nobodyさん
2005/07/30(土) 13:16:17ID:???リファクタリングだね。ファクトリーメソッド作って書き直しました。
Virtual Mock Object も勉強してみます。
0944nobodyさん
2005/07/30(土) 16:07:08ID:???0945nobodyさん
2005/08/01(月) 08:38:48ID:???0946nobodyさん
2005/08/01(月) 09:00:35ID:???0947nobodyさん
2005/08/01(月) 19:56:54ID:???0948nobodyさん
2005/08/02(火) 00:12:30ID:???1月4日に神社を訪れて、「初詣ってたいしたことない」っていってる感じか?
0949nobodyさん
2005/08/02(火) 00:30:58ID:???0950nobodyさん
2005/08/02(火) 00:52:50ID:???もう少し時間がかかりそうだから、JSFはキャッチアップしつつ、
業務では今は仕方なくStrutsという感じ。
JSFについては、ドキュメント・実例・ノウハウ・サポートする開発ツール
(とくに、OSSで良質なもの)、Apache MyFacesの完成度が上がること
これらが出そろうと、Strutsは衰退するだろうね。
Struts・JSF両方を作ったCraigが「Strutsはもうレガシーなもの」と明言しているぐらい。
0951nobodyさん
2005/08/02(火) 08:32:44ID:???0952nobodyさん
2005/08/04(木) 22:55:51ID:???0953nobodyさん
2005/08/05(金) 03:23:41ID:???0954nobodyさん
2005/08/05(金) 07:07:56ID:???0955nobodyさん
2005/08/05(金) 07:23:14ID:???親和性というか・・・・
JSF + Springframework + αのフレームワークだよ。
Strutsという名前がついてはいるが、
現在のStrutsの延長ではなく、まったくの別物。
0956nobodyさん
2005/08/05(金) 22:00:25ID:???それともJSF抜きでそうなるの?
0958nobodyさん
2005/08/06(土) 09:02:48ID:???0959nobodyさん
2005/08/08(月) 04:51:13ID:???Strutsのせいで2〜3年が無駄に失われてしまった。
0964nobodyさん
2005/08/09(火) 02:02:48ID:???http://itpro.nikkeibp.co.jp/free/NSW/NEWS/20050621/163065/
これのパロディでしょ。
「エンティティBeanなんてないほうがよかった。
エンティティBeanのせいで2〜3年が無駄に失われてしまった」
0965nobodyさん
2005/08/15(月) 14:31:58ID:???0967nobodyさん
2005/08/16(火) 03:01:50ID:???0968nobodyさん
2005/08/16(火) 13:07:46ID:???えらそーなこというな。
てめーがstrutsつくたんか?
この勘違いやろーが
テーメーが手がけてるんだったらちょっとは聞き入れてやるよ
結局てもーも使うだけだろ?
0969nobodyさん
2005/08/16(火) 13:12:50ID:???ソースも見ない奴がこの手のフレームワークを使うことは俺も賛成しかねる。
0970nobodyさん
2005/08/17(水) 21:59:41ID:???完成度が低いのではないかと思う。
0971nobodyさん
2005/08/17(水) 23:00:50ID:???0972nobodyさん
2005/08/17(水) 23:36:43ID:???0973nobodyさん
2005/08/17(水) 23:39:23ID:???それじゃ、Javadoc見ればいい。
特定のAPIが数値型を引数に取るかどうかなんて
ソースかJavadoc見るしかないだろうに。
逆に、Javadocやソースで明快な答えを得られるのだから、
シンプルでわかりやすいフレームワークと言えるのではないかと。
そういうものがあるにもかかわらず人に聞かないと使えないような
フレームワークだったら完成度が低いとは言えると思うがね。
0974970
2005/08/19(金) 00:17:45ID:???なんらかのドキュメントでもいいけど。
ただ、
>ソース見る気のない奴はオプソ使うな。
とか
>ソースも見ない奴がこの手のフレームワークを使うことは俺も賛成しかねる。
とかいう発言があったので、反射的に書いてしまった。せっかくフレームワーク
使うんだったら、それに関するコストは極力下げたいところだしね。
0975nobodyさん
2005/08/20(土) 12:51:20ID:RvcLwBWWファイルアップロードを含むテストはどうやってやったら
できますか?
0976975
2005/09/24(土) 17:41:39ID:Si0DCOonレスはもちろんのこと、何の書込みもない。
もうStrutsの時代は終わったのね。勉強時間が無駄でした。
自問自答ですが、結局これはActionFormに直接FormFileをセットして
Testクラスから直接Actionのexecuteを呼び出すようにしました。。。
0977nobodyさん
2005/09/24(土) 18:22:24ID:???プログラム板で聞いたほうが良かった。
△△まだまだStrutsの良さを教えてくださいSession4
http://pc8.2ch.net/test/read.cgi/tech/1109465052/l50
0978nobodyさん
2005/09/24(土) 20:48:00ID:???ま、976がやっても無駄なんだろ。やめれば?
0981nobodyさん
2005/10/15(土) 23:27:58ID:8D6727U50982nobodyさん
2005/10/15(土) 23:36:44ID:???レス数が950を超えています。1000を超えると書き込みができなくなります。