フレームワークStrutsをいじくり倒す人の為のスレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/04/28 08:14ID:Ub0n1fGRhttp://www.ingrid.org/jajakarta/struts/
http://jakarta.apache.org/struts/
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:???■ このスレッドは過去ログ倉庫に格納されています