1 名前:デフォルトの名無しさん [2006/12/30(土) 18:05:08 ] Apache Strutsフレームワークについて語るスレ 前スレ △△まだまだStrutsの良さを教えてくださいSession4 pc8.2ch.net/test/read.cgi/tech/1109465052/
730 名前:716 mailto:sage [2008/05/25(日) 10:18:52 ] >>728 こういう手もある。 Maven2でWebキット作成→さらにmaven2でWTP用プロジェクトを生成する。 デバッグ作業や稼働確認が簡単にできるのでウチではWTPは重宝してる。 >>729 一回作ってしまえば、後は悩まず作れる…調べるのが面倒なんだよね。 修正箇所が多いのがめんどいだけ。 しかしsタグ(sxタグ)拡張して便利になるのを作ろうとすると大変だねー 慣れなのかな、やはり。 ちなみに、ウチでは、JSTLとStruts1タグ、JSP2.0をごっちゃにしちゃってる人がかなり多い。 その上、Struts2タグ+OGNLなんか出てくると、 「今度は一体どれで書くのが正しいんだ!」ってなってる人多いよ…
731 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:13:09 ] 今、プロジェクトでstruts2+springを提案されてて、 試しに作ってみたんだが、どうみてもseam(JSF+Ejb)の方が使いやすいんだが seamと比べてstruts2のメリットってなんだ?
732 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:23:31 ] Strutsという名前
733 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:25:12 ] まあ、名前だろうだろうな。 seamの方が使いやすいとは漏れも思うよ。
734 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 16:42:03 ] >>732 >>733 名前だけかORZ...
735 名前:デフォルトの名無しさん mailto:sage [2008/05/25(日) 21:07:39 ] 新規開発案件でもまだStruts? ポストStrutsの決め手がない現状では仕方ないのかな・・・
736 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 11:05:06 ] >>730 OGNLやValueStackで任意の変数にアクセスして、 <s:property id="">で埋め込んだりするくらいなら スクリプトレットでよくね?JSTLで基本的な整形をして、 拡張が必要なときだけスクリプトレットで値をいじってから JSTLに渡す、みたいな。 taglibに限定するメリットって 1.ソースが見やすくなる 2.ビジネスロジックが紛れ込むのを排除できる っていう2点だと思うんだけど、教育コストに見合わないよ。 へぼいPGの場合は2に限らずコードレビューしてプロジェクトの ルールに則ってない場合は手直しさせるから、jspだけそういう 制限があったところで大差無いし。
737 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 11:06:47 ] >>731 「どうみても」なのはseamに慣れてるからじゃないの? WebサーバーとAPサーバーが分かれてるプロジェクトで seam導入しようとしたとき、アノテーション地獄でなかなか 理解できなかったよ。便利そうとは思ったけど。
738 名前:デフォルトの名無しさん mailto:sage [2008/05/26(月) 11:36:10 ] JSP&Servletが最強です。
739 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 03:13:47 ] struts2のタグで、値をDoubleで持っていてjspで DecimalFormatでフォーマットして出力するのはどうするの? <s:property id="">で代入して表示? みんなはActionで文字整形までやってるわけ?
740 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 13:06:10 ] jstlで
741 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 19:31:29 ] こんなのを見つけた ttp://www.toshiki.net/x/modules/wordpress/index.php?p=81 後々のメンテを考えたらJSTLの方がいいと思った
742 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:00:37 ] >>737 確かにseamには慣れてるけど、比較対処が簡単なlogin画面で明らかにコーディング量が違っていたよ。DBアクセスの為のBean作成やログイン後の情報を保持する部分とか。 struts2に慣れればもっと良い書き方が出来るのかもしれないが アノテーションはXML地獄よりは確実にましだと思うんだけどな 確かにおっちゃん連中はついて来るのが大変そうだった
743 名前:デフォルトの名無しさん mailto:sage [2008/05/27(火) 23:08:47 ] DBアクセスはstruts2/springの範囲外だからそこで比べても。 アノテーションとxmlは一長一短だけど、そこそこの複雑さの場合は アノテーションの方が記述が分散する分学習が面倒だと思う。 xmlでいろんなライブラリ導入してxmlファイルがあちらこちらに あってそれぞれの役割がよくわからないのが一番ひどいけどね。 アノテーションなら定義クラスにすぐアクセスできるけど (Eclipseとか使って無くてもimportとアノテーション名を見ればわかる)、 xmlだとそもそも誰が読んでるのかすらわからないし
744 名前:デフォルトの名無しさん [2008/05/27(火) 23:53:30 ] >>742 ログイン認証処理なんて、spring security使えば楽チンだよ
745 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 01:44:58 ] Strutsと直には関係ないだろうけど、オマイらメールのテンプレート処理とかなに使ってやってんの?
746 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 01:54:25 ] >>745 自前でstr.replaceAll(key,value)
747 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 01:55:22 ] 駄目だ。struts2のタグは応用効かなさすぎ。 俺はstruts2をやめるぞジョジョォォォオオオオオ
748 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 01:59:03 ] >>747 そ、、、、そうかー??? 使う側の応用力の問題ジェネーーーーーーーーノーーーーオオオ
749 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 02:00:39 ] てかOGNLって何でも出来すぎてあとでメンテで困るんじゃねーー って感じなんだけど。
750 名前:747 mailto:sage [2008/05/28(水) 02:51:58 ] ValueStackはうまくいってるときは便利で強力だけど、 「望みの値が出ない」ときにどこが間違ってるのか検証するのが面倒。 struts2のComponentTagSupport系のタグだと処理が追えない。
751 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 20:36:17 ] ajaxとstrutsの相性ってどうなんですかね。 styleId属性使うんだろうけど。
752 名前:デフォルトの名無しさん [2008/05/28(水) 22:24:38 ] 名前忘れたけど、選択リストが複数出てくるGUI部品は内部でAJAX使ってたよ
753 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 22:08:43 ] EventDispatchActionってボタンによってjavascriptのvalidation切り替えたりできない?
754 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 23:35:55 ] >>745 Velocity >>749 その通り。 もし使用に耐えられるのであれば、JSONプラグインを使ってAJAXタグと組み合わせるのも良いかもしれない。 >>751 2.0系はdojo0.4が同梱。 しかしdojoの現リリースと大きく離れていて、かつ欲しいのがあったりして困る。 >>752 を補足すると、AJAXタグはそこそこある。 タブパネル、オートコンプリータ、ツリーパネルなども。 ちなみに、Struts2.0系で何か作ってる連中はとりあえず2.0.11.1にしておきましょう。 s:aタグがトンデモない状態だった。
755 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 03:04:08 ] >>753 EventDispatchActionは知らんけど、 Struts1.1でやったよ。
756 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 05:14:42 ] ELでMap#get()を呼び出したいときはどうしたらいいでしょうか。 ${map.get(key)}だと 「デフォルトの名前空間が指定されていない時には、関数 get はプリフィクス付きで使用しなければいけません」と出ます。 OGNLなら%{map.get(key)}で取り出せるんだけど。 s2のタグにformatNumberがあればEL式と併用しないでいいのになあ
757 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 06:46:53 ] ${map['key']} keyが変数なら ${map[key]} ちなみに、「key」が実際のkey名でプロパティ名として使える場合は ${map.key}でもOK JavaScriptの連想配列アクセスに似ている
758 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 10:10:56 ] >>753 form分けろ
759 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 10:31:52 ] >>756 S2タグとELの混在利用なんてとんでもない間違い
760 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 14:38:00 ] >>759 じゃあ数値フォーマットはどうやんのさ? いちいち>>741 みたいにフォーマット外だしにして メッセージフォーマット使うの?
761 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 14:46:08 ] >>757 ありがっとさん。 ママ、僕にも出来たよ
762 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 15:20:34 ] struts2のタグが生成するxhtmlをhtmlにする方法ありますか? <constant name="struts.ui.theme" value="simple" /> としてもxhtmlみたいなのですが。 古い携帯にも対応したいのでhtmlにしたいんです。
763 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 16:47:48 ] s:iteratorで見てるカレントオブジェクトとその上のactionとか requestで同じ変数名を使ってるときに、上の方を参照するには どうするんだっけ? どこかのwebサイトで見かけたんだけどなあ。どこだったっけなあ
764 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 19:27:17 ] >>760 数値フォーマットはJSTLでいいんじゃない? S2タグにあっても良さそうなんだけど、fmtないんだよね〜
765 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 23:10:37 ] >>764 JSPファイルはきっとぐちゃぐちゃだなww
766 名前:デフォルトの名無しさん [2008/06/01(日) 03:18:28 ] >>761 ボク、りっぱになったわね 大き過ぎて口に入らないわ
767 名前:デフォルトの名無しさん mailto:sage [2008/06/01(日) 09:48:32 ] >>765 どうやったらそこまでぐちゃぐちゃになるんだ…?
768 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:04:36 ] >>728 お前は俺か。Maven最高。pomがちょいアレだけど。 WTPマジうんこ。
769 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:22:06 ] MavenもWTPも両方使うだろJK
770 名前:デフォルトの名無しさん [2008/06/03(火) 08:18:22 ] struts2で ■■■■■ 上記の様に複数の画像をサブミットボタンとして並べると画像間に隙間が空いてしまいます。 調べてみたのですが回避する方法見当たりませんでした。 隙間を開けずに画像を並べる方法ありましたら教えて下さい。
771 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 14:18:34 ] >>769 WTPは別に無くてもいいだろう。 デバッグもこの方法ならWTPじゃなくても問題ないよ goodjob.boy.jp/chirashinoura/id/179.html
772 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 15:29:17 ] >>768 maven スレは過疎っているので、暇なときに遊びに来てください。 自分は maven はそれほど万せーでもないけど(微妙にめんどう)
773 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 15:32:18 ] >>771 jetty って jsp 動かせるの?
774 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 00:13:43 ] >>771 Maven Eclipse PluginでWTPプロジェクト作成した方が楽だと思うw
775 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 00:22:32 ] 今ならQ4Eだろ
776 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 17:47:46 ] NetBeans使えばいいだけじゃねぇの?
777 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 18:17:11 ] それはない
778 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 20:42:18 ] WTPとは比べ物にならないよ。
779 名前:デフォルトの名無しさん [2008/06/04(水) 22:39:24 ] >>770 無理。
780 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 11:44:42 ] あれ、JSTLのfmtタグってリクエストヘッダみて挙動変えるのか。 DoCoMoだとformatNumberがきかない。つかえね。auは大丈夫なのに。 fmt:setLocaleしても駄目だなあ。なにが足りないんだろ。結局カスタムタグか。 リクエストヘッダからfmt:messageでとってくるプロパティファイルは setLocaleで変えられるんだよね?
781 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:09:53 ] >>780 それはDocomoだとロケール情報をHTTPヘッダに持ってないってことなのか? 実際に取得したロケールの値と、プロパティファイルの接尾名が合致してないというオチは結構ある。 例えば、言語コードと国コード両方だと思ったら、片方しかないとか。
782 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:51:17 ] >>781 うん、GETだとhostとuser-agentしか入ってない。機種はSO902i。 他の人のDoCoMoでも駄目だった
783 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:41:40 ] >>782 だったらもう、Action側でロケール上書きで付けるしかないのかな。
784 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:48:46 ] web.xmlのcontext-paramにjavax.servlet.jsp.jstl.fmt.fallbackLocaleとかはセットしてる?
785 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 03:27:02 ] してない。 <fmt:setLocale value="ja_JP"/>を入れて駄目だった時点で これ以上時間を浪費したくないからカスタムタグ書いた。
786 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 08:41:47 ] もし簡単に試せる環境があるのなら、 <context-param> <param-name>javax.servlet.jsp.jstl.fmt.locale</param-name> <param-value>ja_JP</param-value> </context-param> <context-param> <param-name>javax.servlet.jsp.jstl.fmt.fallbackLocale</param-name> <param-value>ja_JP</param-value> </context-param> <context-param> <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> <param-value>{リソースバンドル名}</param-value> </context-param> これセットしてどうか試してみてくれない? setLocaleやbundleを個別に書く必要はない
787 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 11:32:58 ] えー それを開発環境に入れるのは楽だけど カスタムタグに変えたところを戻して 外からアクセスできるところにデプロイしなおすのは面倒 と思ったけど手元にエミュレータがあったのでやってみた。 ちゃんとフォーマットされたよ。ちなみにauは"ja-jp"で送る みたいだね
788 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 21:12:05 ] ありがとう 携帯用画面の開発では結構ありそうなパターンだったから確認しておきたかったんだ 参考になったよ
789 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 09:29:18 ] カスタムタグにすればOGNLに統一できるし悩ましいところだな
790 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 14:21:32 ] しかしこれはいい事例だね。俺も作ってみるか…
791 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:06:57 ] struts2で、session.invalidate()を読んだ後ちゃんとrequest.getSession(true)で新しいセッションを作らせてから、 ActionChainResultで別画面に遷移させると「セッションが無効」の エラーがでます。おそらくInterceptorでセッションインスタンスを キャッシュしてるせいだと思うのですが、追い切れていません。 logout時のinvalidate()は普通に成功しています。 login時にはsessionIdを発行し直して、かつリロードで 再度ログイン処理が走らないようにリダイレクトさせたいと 思っているのですが、なにか回避策はあるでしょうか。 sessionIdの発行し直しはセキュリティ会社に指摘されたことが あって、ログイン前の無防備な状態でid盗聴されたらログイン後に 乗っ取られる可能性があると。今回の案件では始めから httpsなのでやらなくてもいいかなとは思っているのですが、 できたらやっておきたいなあと。
792 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:39:32 ] >>791 答えではないけれど、 Struts2ではsession.invalidate()は避けてほしいらしい。 struts.apache.org/2.x/docs/how-do-we-get-invalidate-the-session.html ちなみに、Struts1+Tiles利用時にsession.invalidate()→レスポンス吐く前に sessionを新規作成しようとしても、うまく動かない現象は起こる。 理由は、セッションを破棄すると、そのロケール情報もなくなってしまって ロケールによる自動振り分けが失敗する。 ロケールなしの時の設定をしていても動かず、 セッション破棄→新セッション作成後にロケールを追加すると動いたので そういうのが原因だろうかね。
793 名前:デフォルトの名無しさん [2008/06/15(日) 00:58:09 ] sessionをプレゼンテーション層的観点で皮相的にとらえると上手くいかない。 自分もstruts2とacegisecurity(spring security)を組み合わせたカスタマイズで苦労した。
794 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 07:53:02 ] HTTP Status 503 - サーブレット action は現在利用できません -------------------------------------------------------------------------------- type Status report message サーブレット action は現在利用できません description The requested service (サーブレット action は現在利用できません) is not currently available. -------------------------------------------------------------------------------- Apache Tomcat/4.1.24 というエラーが出るのですが、原因としてはどのようなことが考えられるでしょうか? tomcat 4.1.24 jre 1.50 struts 1.22 です。ご教授いただければありがたいです。
795 名前:デフォルトの名無しさん [2008/06/22(日) 14:16:47 ] あげときます
796 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 15:30:42 ] よろしくお願いします。 Struts2で、iteratorタグを使用しています。 <s:form> <s:iterator value="hogelist"> <s:property value="no"> <s:textfield name="hogelist.get(%{no}).hoge" value="%{hoge}" /> </s:iterator> <s:submit action="hogeaction" value="送信" /> </s:form> 上記のようにに作っていて、初期表示でデータを表示させることはできています。 送信ボタンを押してActionを呼び出したら、 hogelistの中にテキストフィールドで入力した値が入っていることを望んでいるのですが、 データを取得することができません。 nameの書き方が悪いのでしょうか?それともこういった使い方はできないのでしょうか? どうかご教授ください。
797 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 15:37:40 ] えー、マジTomcat4?今時許されない
798 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 15:49:56 ] なんかの保守じゃねえの?
799 名前:796 mailto:sage [2008/06/22(日) 17:30:06 ] >>796 name="hogelist.hoge"でいいんだぜ
800 名前:796 mailto:sage [2008/06/22(日) 17:47:08 ] >>796 ごめん、嘘ついた。 データは取得できるけど、名前が重複して変になる。
801 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:42:05 ] >>794 エラー画面だされても意味がわからんので、リクエストしてるURLとエラーが出てるログファイルから判断しろ。 話はそれからだ。 >>796 <s:iterator value="hogelist" status="idx"> と、イテレーションのループ変数を宣言、 <s:textfield name="hogelist[idx]" /> でいいんじゃないのかね。 ただ、そのままだとValidatorを使ったときに困ると思う。
802 名前:796 mailto:sage [2008/06/24(火) 09:45:20 ] >>801 ありがとうございます。泣く泣く固定の変数使ってやってました。 statusを使用するんですね。 <s:form> <s:iterator value="hogelist" status="idx"> <s:textfield name="hogelist[%{#idx.index}].hoge" value="%{hoge}" /> </s:iterator> <s:submit action="hogeaction" value="送信" /> </s:form> これでhogelistにデータを入れることができました。 Validatorは今のところ使用していないので、スルーの方向で。 スッキリ解決しました。お世話になりました!
803 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 16:27:56 ] >>801 有難う御座います。また出直します。
804 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 18:34:46 ] strutsにも飽きてきた。 strutsに代わるフレームワークってないの? 個人的にはwicket辺りに注目してるんだけどあんまり流行ってない?
805 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 19:03:04 ] >>804 作っちゃおうぜ
806 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 20:20:56 ] 飽きたらカスタマイズか新作なんかね、wicketは日本で人気っぽいけど。 または自動生成ツールを作るとか、RIA側に手を出すか。 ちなみに、Struts2.2と2.5出るのって本気なのかね。
807 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 20:32:23 ] >>804 dolteng入れてTeeda使うと笑えるよ
808 名前:デフォルトの名無しさん [2008/06/27(金) 01:50:54 ] >>806 2.2と2.5でどうなるの?
809 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 21:08:28 ] journal.mycom.co.jp/news/2008/06/05/020/index.html らしい。つか、Guice入ってるような気がするんだが。。
810 名前:デフォルトの名無しさん [2008/06/28(土) 02:12:13 ] >>809 springと離婚するのか?
811 名前:デフォルトの名無しさん [2008/06/28(土) 02:15:57 ] AJAX対応とスピードアップってことだな、2.2は
812 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 10:57:13 ] 2.0だとdojoプラグイン(でも0.4)が既にバンドルされている。 dojo1.0に対応するのか、それとも他も使えるといいんだが… 2.2以降が出るのを待つかなぁ。
813 名前:794 mailto:sage [2008/06/28(土) 14:17:11 ] リクエストしているURLは localhost:8080/example/chap02/login.do?id=&password= です。 www1.axfc.net/uploader/Img/so/14922.jpg にアップロードした画面からリクエストされます。 ログファイルはC:\tomcat\logsにありますが、どれを挙げれば よろしいでしょうか? 独学で聞ける人もいないので、このスレが頼りです。ご返信 いただければ幸いです。
814 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 15:13:00 ] 特にヘンな設定していなければ、 ログファイルは、catalina.yyyy-mm-dd.out Struts系の設定ファイルはきちんと書かれているか - web.xmlにstrutsの定義があるか - struts-config.xml <form-beans>と<action-mapping>がきちんと設定されているか 基本的すぎる内容なので自分で調べまくる方がいいとは思うが。
815 名前:デフォルトの名無しさん [2008/06/28(土) 15:13:27 ] ageときます
816 名前:デフォルトの名無しさん [2008/06/28(土) 15:24:28 ] よろしくお願いします。 struts2を勉強しています。 propertiesファイルにUnicodeエスケープ形式で メッセージを書くのが面倒なのです。 ツールやプラグインを使用していますが、 XML形式で書くと、日本語をツールなしに使えると伺いました。 書き方等教えていただけないでしょうか。よろしくお願いします。
817 名前:794 [2008/06/28(土) 15:28:51 ] レス有難う御座います。 ログファイルは、C:\tomcat\logsに ・ localhost_log.2008-06-28.txt ・ localhost_admin_log.2008-06-28.txt ・ localhost_examples_log.2008-06-28.txt がありますが、このうちどれでしょうか? web.xmlも確認しましたが、特に自分では変なところは見つかりませんでした。 下記のとおりです。 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "jakarta.apache.org/struts/dtds/struts-config_1_2.dtd "> <struts-config> <form-beans> <form-bean name="chap02_loginForm" type="chap02.LoginForm"/> </form-beans> <global-exceptions> </global-exceptions> <global-forwards> </global-forwards> <action-mappings> <action path="/chap02/login" type="chap02.LoginAction" name="chap02_loginForm" scope="request" > <forward name="success" path="/WEB-INF/jsp/chap02/success.jsp"/> </action> </action-mappings> </struts-config>
818 名前:794 [2008/06/28(土) 15:30:36 ] 間違えました。↑はstruts-config.xmlでした。 web.xmlは下記のとおりです。 <?xml version="1.0" encoding="Shift_JIS"?> <web-app xmlns="java.sun.com/xml/ns/j2ee " xmlns:xsi="www.w3.org/2001/XMLSchema-instance " xsi:schemaLocation="java.sun.com/xml/ns/j2ee java.sun.com/xml/ns/j2ee/web-app_2_4.xsd " version="2.4"> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app> 何かご指摘いただければ幸いです。よろしくお願いします。
819 名前:794 [2008/06/28(土) 16:43:41 ] struts.jarなどをeclipseの「プロジェクト」→「プロパティ」→「JAVAのビルド・パス」 →「ライブラリ」タブでインポート(とでも言うのでしょうか?)していたのを、直接 アプリケーションのWEB-INF\lib配下にコピペしたらエラーメッセージが変わりました。 下記のとおりです。 HTTP Status 404 - パス {0} に対するリクエストは無効です -------------------------------------------------------------------------------- type Status report message パス {0} に対するリクエストは無効です description The requested resource (パス {0} に対するリクエストは無効です) is not available. -------------------------------------------------------------------------------- Apache Tomcat/4.1.24
820 名前:794 [2008/06/28(土) 16:57:28 ] うまくいきました! 原因ですが、やはりWEB-INF\libに直接コピペしたのがよかったようです。 上記のエラーからは、struts-config.xmlのミスで、やっとうまくいきました!!! 本当に有難う御座いました! またお世話になることがあると思いますが、その際はどうかよろしくお願いします!!
821 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 17:09:02 ] >>819 遷移先のパスは<forward name="success" path="/jsp/chap02/success.jsp"/>でいいんじゃないのか?
822 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 17:09:50 ] おっと、自己解決してたw
823 名前:794 [2008/06/28(土) 17:10:25 ] >>821 はい、そこを直したら無事動きました!!ありがとうございました!!!!
824 名前:794 [2008/06/28(土) 22:14:06 ] さきほどは皆様、ありがとうございました! 次のステップに進んだのですが、またエラーに引っかかりました。 MappingDispatchActionを使って、データベースへの入力をひとつの アクションで済まそうとし(正確には、使っている本にMapping DispatchActionを使うように書いている)たら、下記のエラーが出ました。 ご教授いただければ幸いです。どうぞよろしくお願いいたします。 HTTP Status 500 - -------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: クラス database.DBActionForm のbeanを生成する際の例外: {1} at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at filter.EncodingFileter.doFilter(EncodingFileter.java:30) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) エラーメッセージが長いので、途中で切れます
825 名前:デフォルトの名無しさん [2008/06/29(日) 01:13:45 ] 初心者スレかと思た 面倒見の良い人がいて良かったな
826 名前:794 [2008/06/29(日) 07:15:25 ] >>825 そうですね、本当にありがたいです!!!
827 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 12:06:05 ] >>824 ・struts-config.xml に正しくActionクラス、Beanクラス等を定義できているか ・JSP内のパスは、struts-config.xmlに定義した名前になっているか
828 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 12:37:03 ] MappingDispatchActionをぐぐると思いっきり出てくるんだが。 MappingDispatchActionを使う場合の必須事項はちゃんとやってるんだろうな…
829 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 13:04:52 ] >>816 Eclipseプラグインのプロパティエディタ使えば、プロパティファイルをマルチバイトでそのまま編集できるぞ。 逆に >XML形式で書くと、日本語をツールなしに使えると伺いました。 の出所を知りたい。
830 名前:794 [2008/06/29(日) 13:18:03 ] >>827 >>828 ありがとうございます!また試行錯誤してみます!