5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

△△まだまだStrutsの良さを教えてくださいSession4

1 :デフォルトの名無しさん:05/02/27 09:44:12
Apache Strutsフレームワークについて語るスレ

前スレ
△△さらにStrutsの良さを教えて下さいSession3
http://pc5.2ch.net/test/read.cgi/tech/1088870989/


2 :デフォルトの名無しさん:05/02/27 09:46:11
過去スレ
△△もまいら漏れにStrutsの良さを教えてください
http://pc5.2ch.net/test/read.cgi/tech/1048030962/
△△つづいて漏れにStrutsの良さを教えてくだっさい
http://pc5.2ch.net/test/read.cgi/tech/1068207164/

エクリプス+Struts開発
http://pc5.2ch.net/test/read.cgi/tech/1086356759/l50

The Apache Struts Web Application Framework
http://struts.apache.org/

Strutsファンページ
http://homepage2.nifty.com/ymagic/struts/

Strutsメモ
http://muimi.com/j/jakarta/struts/


3 :デフォルトの名無しさん:05/02/27 17:17:03
.Net>>>>>>>>>>>>>>Struts

根拠
http://www.unisys.co.jp/dotnet/pdf/java_vs_dotnet.pdf


4 :使用した後に特許とか騒ぎ立てるあれですか?:05/02/27 17:21:11
>>3

5 :デフォルトの名無しさん:05/02/27 19:32:30
PDFみるのかったるいので、要約きぼん

6 :デフォルトの名無しさん:05/02/27 19:45:17
>>5
形容し難い。超要約すると.NETマンセーw
AはBであると考えられる。なぜならCだからだ。
という基本的な構造を持った文章が書けない人の
言う事は放っておけばよいと思う。

7 :デフォルトの名無しさん:05/02/27 19:58:26
読まずに要約すると
「AだからBである。それとは関係ないがCである。そのためStrutsより.NET」
ということか?

8 :デフォルトの名無しさん:05/02/27 20:04:07
>> 3
> 彼らは、Javaこそが正解であり、すべての企業システムはJ2EEで開発すべきだと考えています。

すごい妄想だな。

9 :7:05/02/27 20:15:50
読んでみたら>>7のままだったのでワラタ。
しかし、1年半前の雑誌記事、いまさら持ち出してなにが言いたいんだろうね。

10 :デフォルトの名無しさん:05/02/27 20:59:38
とりあえず、「穴がない」とか「Windowsプラットフォームに限定されるので
相性問題がない」とか断定しちゃっている辺りが非常に痛い。

11 :デフォルトの名無しさん:05/02/27 22:08:52
Strutsに脅威を感じてるあたりも、今見れば笑える。
さすがに.netと張り合えるほどStruts単体はたいしたもんじゃないよ。

12 :デフォルトの名無しさん:05/02/28 11:28:21
html 化された前スレ

△△さらにStrutsの良さを教えて下さいSession3
http://ruku.qp.tc/dat2ch/0502/19/1088870989.html


13 :デフォルトの名無しさん:05/02/28 11:30:46
ところで,<nested:iterate> って,<nested:root> と同じ働きがあるんですね.
これはすごく便利だ.
今まで全然知りませんでした.今見たら,前スレに少し載っていましたが.


14 :デフォルトの名無しさん:05/02/28 23:52:43
>>13
<nested:iterate> は indexed="true" も付いてくる。
良くも悪くも、これ重要。

15 :デフォルトの名無しさん:05/03/01 13:55:20
>>14
えー,そうなんだ.デフォルトで indexed='true' なのですか.
ではその<nested:iterate>の中で,<nested:text>とかを使いたいなら,
ActionFormBean には Collection を返す getter のみならず,int を引数に個別の
オブジェクトを返す getter も用意する必要があるのですね.
...よく考えてみたら,当たり前か.気が付かなかったけれど.
勉強になりました.ありがとうございます.


16 :14:05/03/01 22:44:51
>>15
おまえ...元々分かってただろ。

<nested:iterate> はデザインの都合で <nested:text readonly="true"> とかすると
indexed="true" が付いてしまって submit 時に getter を探しにいってまう。
で、フォームに getRows(int):Row がなく getRow():List があると
IndexOutofBoundException かなんかで落ちてしまう。

<nested:iterate> で indexed="false" が指定できればいいが、
最新ではどうなんだろ。こんな書き方で回避したが他にやり方あるか知らんか?

<logic:iterate>
 <nested:nest>

17 :デフォルトの名無しさん:05/03/02 14:53:12
>>16
質問の返答じゃなくて申し訳ないんだけど,なんで index がついたらまずいの?
むしろ,無ければ,サブミットのときに,どの row から来たデータなのかを
指定できなくて困ると思うのだけど.


18 :デフォルトの名無しさん:05/03/07 22:00:44
<nested> タグはどうも,バグがあるのではないだろうか?

<nested:iterate id='b' property='a'>
<nested:write property='c'>
</nested:iterate>

これは問題なく動いた.ちなみにこの外に<nested:root>で指定された Bean があり,
a はそのプロパティ(型は Collection), b は Map.

しかし,a の Collection を母体の Bean からはずし, request スコープに直接登録
して,以下のコードを試したが,エラーが出て動かない.

<nested:iterate id='b' name='a'>
(以下同じ)

結局,<nested>タグをやめて,以下のように通常のタグで書き直したら動いた.
<logic:iterate id='b' name='a'>
<bean:write name='b' property='c' />
</logic:iterate>

Struts のバージョンは 1.2


19 :デフォルトの名無しさん:05/03/08 00:55:53
>>18
とりあえず nested:iterate に id は不要

20 :18:05/03/08 11:18:39
>>19
アドバイスありがとう.

しかし,<nested:iterate> から id 属性を除いても,やはり動かない.
エラーメッセージは,"name must not be null" なんだそれは.

通常のタグに戻すと動く.

ただ,うちのプロジェクトは,タグライブラリに若干手を入れている.
それが理由で,バグが発生したのかもしれない.




21 :デフォルトの名無しさん:05/03/08 11:36:17
>20
>ただ,うちのプロジェクトは,タグライブラリに若干手を入れている.
ならば質問する前にやることあるだろう。

22 :デフォルトの名無しさん:05/03/08 13:07:51
StrutsとEJBの違いを教えてくださいー

23 :デフォルトの名無しさん:05/03/08 20:37:41
>>22
クマー

24 :デフォルトの名無しさん:05/03/08 21:23:41
なんだってー (AA略

25 :デフォルトの名無しさん:05/03/09 09:54:52
StrutsとEJBの違いを教えてくださいー

26 :デフォルトの名無しさん:05/03/09 10:12:53
>>25
>>23-24

27 :デフォルトの名無しさん:05/03/09 12:28:10
Strutsは、Standard Testing Ritch User Transfer Systemの略で
EJPは、Entity Java Beansの略。

28 :デフォルトの名無しさん:05/03/10 01:38:18
>>27
メタメタだなw

29 :デフォルトの名無しさん:05/03/10 13:55:44
昨日のCraigの講演より

"Should NOT use Struts HTML tags"

どうするよ藻前ら

30 :デフォルトの名無しさん:05/03/10 14:07:16
なんだと

31 :デフォルトの名無しさん:05/03/10 15:52:14
ViewがVelocityな俺は勝ち組

32 :デフォルトの名無しさん:05/03/10 17:44:46
>>29
結局、strutsってのはなんなんだ。
後から非推奨になる機能が多すぎ。
つーかあの程度の機能の為に、変にこんがらがった実装をしてるし
あれが標準になるとはねぇ


33 :デフォルトの名無しさん:05/03/10 20:08:30
>>29 >>32
それはJSFを使えってことだよ。今日、Craigに直接聞いてきた。

34 :デフォルトの名無しさん:05/03/10 21:01:46
>>33
Craig は JSF のポトペタ環境まで面倒見てくれんくせに
勝手な香具師だな。企業の犬になったのか?
それか Craig がすばらしい IDE 提供するつもり?

35 :デフォルトの名無しさん:05/03/10 21:16:17
そりゃー元々バカンスに行ったついでに適当に作ったフレームワークだから。
まさかこんなに世界中で使われるとは思ってなかっただろうよ。
Strutsの核は画面遷移コントロールと、データ受け渡し形式の定義であり
ActionFormをインターフェースにして、POJOで云々みたいな発想も無かったんだよ、
そしてViewに関してはオマケ程度。 とりあえず基本的な事ができる程度にしか作ってなかった。

36 :デフォルトの名無しさん:05/03/10 21:45:05
どっちにしろ、strutsは長くないね。
つーか今までが長すぎた。フツーならとっくに廃れてるはずなんだが。
あんなのがWebアプリの標準になりリファレンスや特集記事が出続けて
たとは、Javaの世界って実はミーハーばかりなんじゃないか?

37 :デフォルトの名無しさん:05/03/10 21:50:31
>>36
どつあた?
ちかなは?
ねがてか?

38 :デフォルトの名無しさん:05/03/11 00:58:00
strutsは一言で言うと醜いフレームワークだからなぁ
タグも気持ち悪いし、設定ファイルもクソ
commons系のライブラリを生み出してくれたことには感謝するけど早く消えてほしいよ。

39 :デフォルトの名無しさん:05/03/11 02:02:04
うーん。 そんなに言うほど酷くは無い気がするぞ。
つーか元々Strutsは、設定ファイルを分割しないと管理できないほど
デカいシステムを想定してない感じがする。
ちっこいのを適当かつ簡単に作るのを想定した書式だな。
タグについても同様。 tilesなんかもう見てらんない。 引き時を誤った例。

commons系ライブラリの件については同意。
strutsの隆盛と共に、commonsも盛り上がった感がある。
beanutilsやvalidatorの様に汎用性の高い部分を共有するのは良いことだ。

40 :29:05/03/11 09:53:38
>>33
Sunのイベントでも同じこと言ったのね、
あたしゃ「稚内大学なんちゃらかんちゃら」で聞いた。

>>34
CraigはStudioCreatorの開発にも顔出してるらしいね。
(あれがeclipseに勝てるかどうかは疑問だけど、ま、一度は
試してみようと思ってる。)

今年CraigがStrutsに死滅宣言を出したように
来年はLindaがHibernateに引導を渡すのでは?
って予感がしたよ。板違いスマソ


41 :デフォルトの名無しさん:05/03/11 12:16:20
質問です.
ForwardAction って,何のためにあるのでしょう?

<action path='hoge'
    type='org.apache.struts.actions.ForwardAction'
    parameter='jsp/hoge.jsp />

上のようなことを書くなら,

<action path='hoge'
    forward='jsp/hoge.jsp' />

こう書けばすんでしまうと思うのですが.


42 :デフォルトの名無しさん:05/03/11 12:26:43
>>41
アプリケーションをモジュール単位で分割した場合に、
その記述だとモジュール相対パスとして認識されてしまう。
ForwardActionを使うとモジュール相対パスではなく、コンテキスト相対パス
として解釈される。

43 :41:05/03/11 13:00:12
>>42
ありがとうございました.
モジュール分割について知らなかったので,この機会に調べてみたところ,
おっしゃる意味は大体わかりました.


44 :デフォルトの名無しさん:05/03/11 13:08:51
html タグは使うな,というのはなぜ?
ブラウザやWEBオーサリングツールで表示できないから?

それは確かにわかるのだけど,例えば <select> <option> はどう書くのだろう?
Velocity だとこんな感じになるようだけど,

http://d.hatena.ne.jp/wizardp/20050211

<select name="model.value[$num].select">
<option #if($action.getValue($num).select == "A") selected #end>A</option>
<option #if($action.getValue($num).select == "B") selected #end>B</option>
<option #if($action.getValue($num).select == "C") selected #end>C</option>
</select>

これじゃ cgi の世界に逆戻りじゃないか.
<html:select> <html:optionsCollection> がなんと便利なことかと思う.


45 :デフォルトの名無しさん:05/03/12 19:45:28
Velocityで楽したきゃToolboxかVelomacro使うべ

46 :デフォルトの名無しさん:05/03/12 20:21:28
>>44
> html タグは使うな,というのはなぜ?
JSFのUIコンポーネントを使えってことだとさ。
strutsのhtmlタグは標準技術ではないし、もうレガシーなものとして発展もしないということらしい。


47 :デフォルトの名無しさん:05/03/12 20:45:48
標準UIが決められたんだからそれに準拠しる、って事か。
思想が健全でよろしい。

48 :デフォルトの名無しさん:05/03/12 21:42:26
まー、JSF はまともに使える(ある程度枯れた) IDE が出て
からだな。しかもその IDE が商用だけじゃ話にならん。

そもそも JSF は人間が手書き出来るものじゃないので
(出来るが手書きなら JSF を使わんほうがいい)
既存の手書き仕様から単純に移行するものではない。

少なくとも数年は枯れてない IDE で初期工数がかさむのは確実。

49 :デフォルトの名無しさん:05/03/13 01:33:27
>>45
Velocimacroですな。
まあ、その辺はカスタムタグみたいなもんか。

50 :デフォルトの名無しさん:05/03/13 11:02:07
>>48
一理あるようで一理無いと思うぞ。
strutsタグやjstlタグを手書きしているのなら、やっていることは一緒だ。
無償のIDEがあるなら欲しいけどさ。


51 :デフォルトの名無しさん:05/03/13 11:44:16
JSPへの表示は、htmlタグなしでもELでいけるが、
JSPからの入力を取るほうはどうすんの? 今さら
request.getParameter("hoge")とか書くのはイヤ
なんだけど。

52 :デフォルトの名無しさん:05/03/13 12:03:53
>>51
JSFを使えって言ってんのがわからんのか
JSFを勉強してから、Struts-Facesを勉強して、それから出直してこい

53 :デフォルトの名無しさん:05/03/13 12:51:29
これからの新規Web開発ベストプラクティス:

JSFで逝くならJSFオンリーで。

Strutsで逝くなら、struts html タグを使わずに、
JSP2.0が使える環境→JSP2.0で
JSP2.0が使えない環境→Velocityで



54 :デフォルトの名無しさん:05/03/13 13:12:16
>>51

param.hoge で。

55 :デフォルトの名無しさん:05/03/13 13:19:20
>>52-53
Struts-Facesはちょっと使えんよ。
Struts1.1ベースでほとんど表示オンリーならいいけどさ。
Shaleの開発始まっているからこれからStruts-Faces使い始めるつもりなら止めといた方がいいね。
BugFixぐらいはしてくれるみたいだけど。
(これからStrutsを勉強し始めるってのも賛成できない。)

俺としては、StrutsでいくならStrutsタグ使った方がいいだろうね。JSTL使ってもいいけど。
StrutsにVelocity併せて使うのはちょっと時代と逆行してる気がするな。


56 :51:05/03/13 13:27:44
>>52-54 教えてクンなオレにレスありがとう。
あと2年くらいはstrutsかと勝手に思ってたんですが、
個人的にJSFの勉強始めてみます。

でも、新規の業務をJSF1色で作るのはまだなんか
怖い気が(これは、勉強して「素晴らしい」と思えれば
杞憂に終わるか?)。

外注も、struts使えることは抑えてるけど、JSFはどうだろう…

57 :デフォルトの名無しさん:05/03/13 13:43:10
>>55
Shaleのソース見てから言ってる?まだまだ全然使い物にならんよ。
開発が始まってるって?Craigがproposalとして第一段階のソースを
コミットしたにすぎない。他のメンバーはまだ手を付けていない。
Craigも今年の6月のJavaOneでEAのサンプル程度の物が提供できれば、なんて
言ってたぐらい。(ちなみに、Craigのこの手の発言は半年延びることはザラにある。)

Shaleは"Struts"という名前はついているが、互換性ゼロのまったくの別物。
どちらかというとJSFベースのフレームワーク。

とは言ってもStruts-Facesは独自タグだらけでかなり無理矢理な印象。
こちらについてもCraigは、StrutsからJSFへの移行をするためのMigration Toolとして
積極的に開発を進めていく、と言っていた。

「これからStrutsを勉強し始めるってのも賛成できない」はあと2年経ったら
そういえる状況になるとは思うけど、今はまだこれから勉強してもいい時期だとは思うよ

58 :55:05/03/13 16:17:34
>>57
もちろんソース見てるよ。Shaleの使い方のWeb立てたいぐらい。
validator対応とコントローラの改良を早くして欲しいね。

Struts-Facesも調べたけど、JSTLとJSFの勉強をかねてやるにはいいけど
じゃあStruts本体はっていうとstruts-config.xmlでAction振り分けるぐらいじゃん。
ActionFormをマネージドビーンとして登録するってのもなんだし、
Struts使うのかどうかってのは、コントローラ部分をstruts-config.xmlでするのか
faces-config.xmlでするのかぐらいのもんだろ。ちょっと大げさに言えばさ。

そんな状態で本屋でStruts1.2対応とかいっている入門書並んでるのみてるとさ、
今からStruts覚えようとかいうやつにはちょっとまてと言いたいんだよ。
お前の言うように2ヶ月かけてStruts覚えるんなら、validatorとかchainとかjsfと
かjstlとか覚えとけよって思う。
そのうえこれからStruts覚えますってやつにStrutsFacesまで覚えろっていうのは
ちょっとナンセンス。
でも、今のスタンダードとしてstrutsの技術を知っておいた方がいいとは思うんだけどな。

もともとJSFはWebでイベントドリブンしようぜという発想なんだから、Struts
などの今までの方式とは合わないんだって。
StrutsするならとことんStrutsやったほうがいい。だからStrutsFacesはお奨めできない。
それにCraigがStrutsからJSFへの移行はStrutsFacesでうんぬんとかいうのはShale以前の話だろ?


59 :デフォルトの名無しさん:05/03/13 16:41:43
> それにCraigがStrutsからJSFへの移行はStrutsFacesでうんぬんとかいうのはShale以前の話だろ?
昨日言ってた。

60 :59:05/03/13 16:42:22
ごめん、おとといの間違い

61 :デフォルトの名無しさん:05/03/13 17:00:11
>>59
そりゃすまんかった。
その要約どっかで見れないかな?

62 :デフォルトの名無しさん:05/03/13 17:11:13
>>48
jsfが手書きできるのものじゃないって釣りなのか?
それとも想像で言ってる?


63 :デフォルトの名無しさん:05/03/13 19:15:56
>>55
Velocity→JSP2.0は意外と移行がかんたん。
JSP2.0 <input type="text" name="aField" value="${aForm.aField}">
Velocityでも <input type="text" name="aField" value="${aForm.aField}">と書ける。
ま普通は
<input type="text" name="aField" value="$!aForm.aField">
かもしれないが。

strutsタグからのほうが移行の敷居が高い。

Craigの話でも
テーゼ:JSP1.n+拡張タグ(JSTL,Strutsタグ含む)

アンチテーゼ:Velocity,FreeMakerなどのテンプレートエンジン

ジンテーゼ:よりテンプレートライクなJSP2.0
とアウフヘーベンしていたようだった。
Java WorldでもJSP2.0を「テンプレートエンジン」扱いしてたし。

短期見通しで上げられていたJSF2.0&JSP2.1の統合を考えると、
移行期にある現在、学習コストの低い&コンテナVer.を選ばないVelocityをつなぎ
として使うのは意味があると思うよ。

64 :デフォルトの名無しさん:05/03/13 19:30:06
JSP2.0の式言語でサニタイズってどーやるのがいいんだ?
Velociteyでは書き出しをハンドリングして自動でやらせてるけど

65 :デフォルトの名無しさん:05/03/13 19:35:57
>>64
c:outを使う

66 :デフォルトの名無しさん:05/03/14 21:22:34
Strutsサイトの ロードマップとかマイルストーンとか更新されてた。
1.2で最後かと思ってたけど1.3も出そうだな。

ところでChainを本格的に導入するとどうなるんだ?
今までのActionがなくなって、Chainのコマンドとして実装するのかな。
だったらstruts-config.xmlでやっていたナビゲートもChain用のコンフィグ
として記述するようになるから、Strutsとは名ばかりのまったく別物になる
気がするんだけど、既存資産を生かすのが目的だろうか?

iBatisがどうのこうのっていうのもよく分からん。
だれか解説して。


67 :デフォルトの名無しさん:05/03/14 23:57:27
>>63
間違えられやすいが、
×FreeMaker ○FreeMarker
ちなみに、FreeMarkerの開発者はVelocityのMLを荒らしたことがある。

68 :デフォルトの名無しさん:05/03/16 21:10:33
すみませんが,質問です.

<html:multibox property='id'>を Validator で検証するにはどうしたら
良いでしょうか?
受け手には public void setId(String[] id); が必要になるのですが,
これの入力を検証する方法がわからないのです.

チェックしたい項目は,
・セットされた配列の文字列は,すべて「整数」でなければならない.
・要素数は1以上(こちらはそれほど必要でありません).

もしかして,これは Validator では無理で,validate() メソッドを
手で書かなければならないのでしょうか?


69 :デフォルトの名無しさん:05/03/16 21:39:09
>>68
意味不明だな。

> ・セットされた配列の文字列は,すべて「整数」でなければならない.
なぜこれをValidatorで検証しなければならないのか?

>Validator では無理で,validate() メソッドを手で書かなければならない
どんな検証でも、Validatorでは無理でvalidatoe()メソッドを手で書かなければならない
ものなど無いと思う。標準で用意されているルールで要件を満たせなければルールを作ればよい。


70 :デフォルトの名無しさん:05/03/17 10:51:03
幻想だな

71 :68:05/03/17 12:32:25
>>69
すみません.我ながら意味不明でした.
標準の validator-rules.xml 内の定義で済ませられないか,というつもり
でした.
今回は,<html:multibox>を使っている ActionForm が一つしかなかったので,
validate() メソッドで済ませることにしました.
もし,この validation をほかでも使うことになったら,新しいルールに
昇格させるつもりです.

ありがとうございました.


72 :デフォルトの名無しさん:05/03/20 08:46:19
Strutsのスレッドセーフに関する質問です。
googleで"スレッドセーフ Struts"でしらべました。

ttp://www.atmarkit.co.jp/fjava/rensai2/webopt04/webopt04.html
@ITで調べたところ、結論としては、
"クラス変数や、Servletのインスタンス変数については、
設計段階から使わないようにするなど規約化を行ってから開発すること"
と結んでいます。しかし、マルチスレッドではServletのインスタンス変数
も危険であるとの記述もあり、結局なにをすべきかわからない状態です。
(シングルスレッドについての記述もありますが、パフォーマンスが落ちる
との記述もあり、さらに混乱します。)

今回、SOFTBANKPublishingの『Apache Strutsハンドブック』黒住幸光著
も参考にしましたが、結局Strutsで何をすれば、スレッドセーフになるのか
わからなかったため、ご教授願います。よろしくお願いいたします。

--------以下上記書籍引用--------------------
Actionクラスに限らず、すべてのアクションのインスタンスは
複数のスレッドで共有されます。複数のHTTPリクエストが同時に
同じアクションを実行した場合、両者は同じアクションのインスタンス
をアクセスしていることになるので、実装上注意が必要です。
アクションを創る場合には必ずスレッドセーフなクラスとして作成
してください。




73 :デフォルトの名無しさん:05/03/20 09:01:21
は?
インスタンス変数を使わないとか、Springで管理してリクエストごとにオブジェクト生成させるとか。

74 :72:05/03/20 09:27:38
72です。
>>73 様
レスありがとうございます。

具体的には@ITの下記の記事に、インスタンス変数すら
危険であるという記述があるため困っているのです。
結局は、シングルスレッド化しなければならないのでしょうか、、。
(シングルスレッド化はパフォーマンスに問題があるそうですが。)

---------@IT引用--------------------
インスタンス変数にも注意せよ
インスタンス変数といってもいろいろあるが、ここで話題にするのは
ServletやJSPのインスタンス変数である。
まずは実際にあったソースコードを紹介しよう。
この例では、マルチスレッドモデルでServletを動作させていたため、
スレッド間でインスタンス変数paramが共有され問題となったのである。


75 :デフォルトの名無しさん:05/03/20 09:33:24
アクションやServletの中でインスタンス変数を使わなきゃいいだけじゃないの?
つーか継承して特定メソッドを書くだけだからふつー使わないし

76 :デフォルトの名無しさん:05/03/20 09:48:30
だ・か・ら〜
インスタンス変数は使うな!そのまんまなんだよ。

ローカル変数のみを使え。

77 :デフォルトの名無しさん:05/03/20 09:59:27
>>74
Springで管理してリクエストごとにオブジェクト生成させるとか。

78 :72・74:05/03/20 10:17:53
>>75 >>76 様 ありがとうございます。
>>74 様 Springについては別途調査します。ありがとうございます。
インスタンス変数というのがいまひとつ理解できなかったので、
ご迷惑をおかけしております。
(staticでないものがすべてインスタンス変数であると考えていたため。)
結局のところ、下記のとおりでよろしいでしょうか?
よろしくお願いいたします。m(__)m

import xxx;
public final class XXXX extends Action {
  //ここで変数宣言することはないですが、
  //ここだと危険だということですか?(最終確認)
public ActionForward execute (ActionMapping map,
ActionForm frm,
HttpServletRequest request,
HttpServletResponse response) {
  //ここに処理をかけば問題はないですか?
  //実際の処理は、他のクラスをここでインスタンス化し、
  //処理を委譲します。(最終確認)
return map.findForward("xxx");
}
}

79 :デフォルトの名無しさん:05/03/20 10:37:02
ローカル変数のこともインスタンス変数だと思ってたわけか?
「ここに処理を書けば」って、他にどこに書くんだ?
さきにインスタンス変数について調べれ。

80 :72・74・78:05/03/20 11:36:40
>>79 様 ありがとうございます。
おはずかしながら、変数は、クラス変数(static)と
インスタンス変数(クラス変数以外の変数)であるとおもっておりました。
そのうえ、メソッドについてもクラスメソッド(static)と
インスタンスメソッド(クラスメソッド以外)であると、、。

そして、インスタンスメソッド内で定義された変数は
すべてインスタンス変数であると誤解しておりました。
(=これはローカル変数と呼ばれるものなのですね?)

>「ここに処理を書けば」って、他にどこに書くんだ?
ここしかないですよね。。ここにしか通常は書かないことから、
SOFTBANKPublishingの『Apache Strutsハンドブック』黒住幸光著
をよんで、悩んでしまった理由です。

丁寧に皆様ありがとうございます。

81 :72・74・78・80:05/03/20 11:38:27
書き忘れました。

インスタンスメソッドについては、インターネットで
もう一度、勉強してみます。ありがとうございます。
>>79 様


82 :デフォルトの名無しさん:05/03/20 18:03:26
うむ。
こんな恥ずかしいこと、リアルの世界で指摘されなくてよかったな。

83 :72・74・78・80・81:05/03/20 19:37:07
>>82 様
まったく、そのとおりです。勉強します。
みなさまありががとうございました。m(__)m

84 :デフォルトの名無しさん:05/03/20 20:59:43
標準たるJSFが出た以上、今更Strutsでも無いだろうに。

85 :デフォルトの名無しさん:05/03/20 21:52:05
Strutsはいつまでも標準フレームワークであり続けるだろう
JSFは専用のIDEが出るまでは普及しない。
Strutsを否定するものは

86 :デフォルトの名無しさん:2005/03/21(月) 13:27:19
標準に従わず独自仕様に固執…Microsoft的だな

87 :デフォルトの名無しさん:2005/03/21(月) 17:58:58
質問があります・・。
【質問1】
最終的にやりたいことは、以下のコードをJSTLで書き直すことです。

<html:form action="/FormAction">
<table>
<tr><th>ユーザID:</th><td><html:text property="id" /></td></tr>
<tr><th>名前:</th><td><html:text property="name" /></td></tr>

<tr><td><html:submit property="submit" value="実行" /></td></tr>
</table>
</html:form>

しかし、<html:form action="/FormAction">を<form action="/FormAction" method="POST">
として同様にかきますと、/FormAction がないとか怒られます。

【質問2】
これは Strutsで書いたコードがどのようなJSPに展開されているか自分がよくわかっていないためと
思いました。どのようなコードに展開されるかはStrutsのどの部分を見ればわかりますでしょうか。
教えてくださいませ・・。

88 :デフォルトの名無しさん:2005/03/21(月) 18:19:12
>>87 【質問1】だけ。
<form action="飛ばすJSPページのURL">
<table>
<tr><th>ユーザID:</th><td><input type="text" name="id" /></td></tr>
<tr><th>名前:</th><td><input type="text" name="name" /></td></tr>

<tr><td><input type="submit" name="submit" value="実行" /></td></tr>
</table>
</form>

受ける方のJSPページでは、${param.id} や ${param.name} でパラメータが見えます。
なお、<form method="post" にして、
表示するときは <c:out>タグや fn:escapeXml()関数 を使うのが安全です。


89 :87:2005/03/21(月) 18:34:21
>>88 速い!ありがとうございます!
説明がちょっと言葉たらずだったのかもしれません。

JSPのページに飛ばしたいのではなく、struts-config.xml を介して、FormAction.javaに
飛ばしたいのでした。以下はstruts-config.xmlの一部抜粋。
<action-mappings>
<action path="/FormAction" type="hoge.FormAction">
<forward name="success" path="/result.jsp"/>
</action>
</action-mappings>

Strutsのhtmlタグを使えば問題ないのですが、先程のように書き直すと、

HTTPステータス 404 - /FormAction
The requested resource (/FormAction) is not available.

と言われてしまうんですよね・・。

90 :デフォルトの名無しさん:2005/03/21(月) 21:29:28
>>89
/FormAction.do

91 :デフォルトの名無しさん:2005/03/21(月) 21:30:55
>>89
strutsタグで書いて実行してHTMLソース見れば解決。

92 :89:2005/03/21(月) 21:48:15
>>90
それはやってみたんですけど do つけない場合と同じ結果でした・・。

>>91
ありがとうございます!!それがまさにほしかった答えでした。

皆さんわざわざショボい問いに答えてくださってありがとうございました。

32 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)