Apache Strutsフレームワークについて語るスレ
前スレ
△△もっとStrutsの良さを教えてくださいSession5
http://pc11.2ch.net/test/read.cgi/tech/1167469508/
探検
△△もっとStruts2の良さを教えてくださいSsssion6
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2008/08/01(金) 05:27:03256デフォルトの名無しさん
2009/07/05(日) 14:09:22 ユーザーがトップ画面で言語(日本語と英語とか)を明示的に切り替える時って
ActionのgetText()使えないよね?
properties_ja/properties_enファイルでメッセージ管理したいんだけど
自分でResouceBundle取得するクラス用意するしかないのか。
ActionのgetText()使えないよね?
properties_ja/properties_enファイルでメッセージ管理したいんだけど
自分でResouceBundle取得するクラス用意するしかないのか。
257デフォルトの名無しさん
2009/07/06(月) 13:03:39258デフォルトの名無しさん
2009/07/09(木) 08:22:20 リビジョンが0.02上がっただけでクラス構成が変わるとか
恐るべしxwork
恐るべしxwork
259デフォルトの名無しさん
2009/07/09(木) 13:23:33 jspをsrcフォルダの下に入れてる人おる?
jspをステップ実行しようとするとソースが見つからないと出るんだけど
素直に/WEB-INF/jspに入れるべきか悩んでる
jspをステップ実行しようとするとソースが見つからないと出るんだけど
素直に/WEB-INF/jspに入れるべきか悩んでる
260デフォルトの名無しさん
2009/07/09(木) 13:47:38 ああ、数時間かかったけどできた。
ソース探すときに/WEB-INF/classes/path._to_folder/aaaa.jsp
というフォルダ構成になってないといけないから、
ソースルックアップパスにwtppluginのtmpフォルダを指定するか、
ソースの出力フォルダーを/WEB-INF/classesにしないといけないんだわ。
んでsrcを右クリックして後者をやろうとするとソースフォルダーに指定できませんとか
怒られるんだけど、.classpathファイルを直接変更でうまくいった。
誰の参考にもならないと思うけど俺へのメモ
ソース探すときに/WEB-INF/classes/path._to_folder/aaaa.jsp
というフォルダ構成になってないといけないから、
ソースルックアップパスにwtppluginのtmpフォルダを指定するか、
ソースの出力フォルダーを/WEB-INF/classesにしないといけないんだわ。
んでsrcを右クリックして後者をやろうとするとソースフォルダーに指定できませんとか
怒られるんだけど、.classpathファイルを直接変更でうまくいった。
誰の参考にもならないと思うけど俺へのメモ
261デフォルトの名無しさん
2009/07/09(木) 13:50:59 今更JSPはやめろよ。
262デフォルトの名無しさん
2009/07/09(木) 14:21:16 納期が短いのでこれからFreeMarkerの勉強してエラーが出たときに
どうしたらいいのかノウハウ蓄える余裕がない。
つーかわざわざ勉強し直してプロジェクトメンバーに教え直すほどのメリットあるの?
どうしたらいいのかノウハウ蓄える余裕がない。
つーかわざわざ勉強し直してプロジェクトメンバーに教え直すほどのメリットあるの?
263デフォルトの名無しさん
2009/07/09(木) 14:24:39 >262
ページ単位でちゃんぽんにしてもいいんだぞ?
最初は、単純なページだけFreeMarkerにしとけばいい。
ページ単位でちゃんぽんにしてもいいんだぞ?
最初は、単純なページだけFreeMarkerにしとけばいい。
264デフォルトの名無しさん
2009/07/09(木) 14:29:07 アホか
そんな余計手間がかかるようなこと仕事でするかよw
そんな余計手間がかかるようなこと仕事でするかよw
265デフォルトの名無しさん
2009/07/10(金) 12:02:12 >FreeMarkerはエラーメッセージが
>とても分かりやすいので開発しやすい。
素のjspだってわかりやすかったのにValueStackがいけないんだよな
>とても分かりやすいので開発しやすい。
素のjspだってわかりやすかったのにValueStackがいけないんだよな
266デフォルトの名無しさん
2009/07/10(金) 14:23:19 JSPのエラーメッセージがわかりやすいとか、いみふ。
エラーメッセージを出すのはコンテナだろ。
どんなエラーメッセージが出るのかはアプリケーションサーバの実装依存。
エラーメッセージを出すのはコンテナだろ。
どんなエラーメッセージが出るのかはアプリケーションサーバの実装依存。
267デフォルトの名無しさん
2009/07/10(金) 14:26:13 そうだけどjspなら常識的にjsp内で起こったエラーがでるだろ。
脳みそ足りてる?
脳みそ足りてる?
268デフォルトの名無しさん
2009/07/10(金) 14:47:02 それって分かりやすいと言えるのか?
269デフォルトの名無しさん
2009/07/10(金) 14:59:28 例外生成しても何事もなかったようにスルーして空文字列を返されたり
NullPoやNoSuchMethodしか返さないValueStackのエラーよりは遙かにわかりやすい
NullPoやNoSuchMethodしか返さないValueStackのエラーよりは遙かにわかりやすい
270デフォルトの名無しさん
2009/07/10(金) 15:16:50271デフォルトの名無しさん
2009/07/10(金) 15:27:31 例外スルーしたり、型名しか返さないコンテナもあるよね。
少しまえのOC4Jとか。
今でもそうなのかは知らないけど。
少しまえのOC4Jとか。
今でもそうなのかは知らないけど。
272デフォルトの名無しさん
2009/07/10(金) 16:05:35 >>270
うむ、そう言われれば確かにtomcatとWebLogic以外の経験はない
うむ、そう言われれば確かにtomcatとWebLogic以外の経験はない
273デフォルトの名無しさん
2009/07/10(金) 22:00:46 つまりまともなコンテナ使ってないのに、エラーが分かりにくいとか逝ってる訳?
まともなコンテナ使えば済む話だろ。
まあそういうエラー処理とか趣味のオープンソースではやりたがらないだろうから期待出来なくてもしょうがないが。
まともなコンテナ使えば済む話だろ。
まあそういうエラー処理とか趣味のオープンソースではやりたがらないだろうから期待出来なくてもしょうがないが。
274デフォルトの名無しさん
2009/07/10(金) 22:17:00 つまり、昨年はでのオラクルのコンテナは
まともではなかったと言いたいわけか。
エラーメッセージが不親切イコールまともでは無い、ならIBMもかなりヤバイ。
まともではなかったと言いたいわけか。
エラーメッセージが不親切イコールまともでは無い、ならIBMもかなりヤバイ。
275デフォルトの名無しさん
2009/07/10(金) 22:54:46 WebLogicはOracleだし、TomcatやGlassfishはもともとsun
つまり、Oracleが一番まともってことか
アレ?
つまり、Oracleが一番まともってことか
アレ?
276デフォルトの名無しさん
2009/07/11(土) 00:28:15 話がまったく噛み合ってないスレはここですか?
277デフォルトの名無しさん
2009/07/11(土) 05:03:39 >>270
ほとんどのシチュエーションでJasper使ってるとかを考慮してないレスに意味はないな
ほとんどのシチュエーションでJasper使ってるとかを考慮してないレスに意味はないな
278デフォルトの名無しさん
2009/07/11(土) 09:37:50 JasperにあらずんばJSPにあらず。
OASもJettyもResinもおよそまともでは無い。
とでも言いたげだな
OASもJettyもResinもおよそまともでは無い。
とでも言いたげだな
279デフォルトの名無しさん
2009/07/11(土) 10:02:06 去年までのオラクルなら、オラクルアプリケーションサーバって言ういまいちなのがあってだな(ry
だからわざわざweblogic買収して製品強化したつもり?
jasperのエラーメッセージが糞なので、まともじゃないって?
だからわざわざweblogic買収して製品強化したつもり?
jasperのエラーメッセージが糞なので、まともじゃないって?
280デフォルトの名無しさん
2009/07/13(月) 19:04:11 struts2のタグで質問です。
よく使う定義リストをSample.getAllList()ってstaticメソッドで取得できるように宣言しているんだけど
<s:radio list="%{@jp.domain.package.Sample@getAllList()}" />
ってやると
The requested list key '%{@jp.domain.package.Sample@getAllList()}' could not be resolved as a collection/array/map/enumeration/iterator type.
とでてlistだと認識してくれません。
いちいちActionクラスにList sampleList;を用意してアクセッサつけて#input()でセットしておくのも
馬鹿みたいなのですが、どうにかならんのでしょうか。
ちなみに中身は「true:有効/false:無効」とか「male:男性/female:女性」みたいにいろんな画面で
共通で使うtypeSafeEnumなクラスです。
よく使う定義リストをSample.getAllList()ってstaticメソッドで取得できるように宣言しているんだけど
<s:radio list="%{@jp.domain.package.Sample@getAllList()}" />
ってやると
The requested list key '%{@jp.domain.package.Sample@getAllList()}' could not be resolved as a collection/array/map/enumeration/iterator type.
とでてlistだと認識してくれません。
いちいちActionクラスにList sampleList;を用意してアクセッサつけて#input()でセットしておくのも
馬鹿みたいなのですが、どうにかならんのでしょうか。
ちなみに中身は「true:有効/false:無効」とか「male:男性/female:女性」みたいにいろんな画面で
共通で使うtypeSafeEnumなクラスです。
281280
2009/07/13(月) 19:22:41 すいません、ActionにallListをおいてアクセッサつけてもダメだったので
なんか別のところが間違っているみたいです。出直してきます。
なんか別のところが間違っているみたいです。出直してきます。
282デフォルトの名無しさん
2009/07/13(月) 22:01:23OGNLはデフォルトでstaticメソッドを実行できんようになっている。
struts2-core.jarの中に入っている
org/apache/struts2/default.properties
を見ろ。
struts.ognl.allowStaticMethodAccess
を値をtrueにすればよいはずだ。試してないけど。
283デフォルトの名無しさん
2009/07/13(月) 23:37:05284デフォルトの名無しさん
2009/07/17(金) 11:15:05 あの、Struts には Interceptor というものがある様ですが、
という事は AOP にも対応していると考えていいのでしょうか?
素人なので変な事を言っていたらすみません。
という事は AOP にも対応していると考えていいのでしょうか?
素人なので変な事を言っていたらすみません。
285デフォルトの名無しさん
2009/07/17(金) 14:14:41 struts2のInterceptorはjavax.servlet.filterのようにAction#execute()の実行前後に
処理を挟めるだけ。サービス層とかでAOPするならspring-pluginとかと組み合わせる。
処理を挟めるだけ。サービス層とかでAOPするならspring-pluginとかと組み合わせる。
286デフォルトの名無しさん
2009/07/17(金) 14:46:32287デフォルトの名無しさん
2009/07/17(金) 20:18:08 Struts 2.1.6 ではパラメータが文字化けしてしまうそうですが、
みなさんそのあたりはどうしてます?
自作インターセプタなどで対処してるんでしょうか。
みなさんそのあたりはどうしてます?
自作インターセプタなどで対処してるんでしょうか。
288デフォルトの名無しさん
2009/07/17(金) 20:27:21 >287
前のバージョンのフィルターが@deprecatedで残ってるから、それを使ってる、
気がする。
前のバージョンのフィルターが@deprecatedで残ってるから、それを使ってる、
気がする。
289デフォルトの名無しさん
2009/07/17(金) 20:46:37 >>288
そうなんですかぁ。
今デコードするためのインターセプタを作ったんですが、
何故
invocation.getInvocationContext ().getParameters ()
して返ってくるパラメータって、String [] とかが含まれるんでしょう?
普通、request.getParameter ("hoge") とかやって返ってくるのは
String ですよね? String [] になっている意味がよく分からない
のですが…。
そもそも、<String,String> ではなくて <String,Object> になって
いるのがおかしい様な…。
どういう事でしょう?
そうなんですかぁ。
今デコードするためのインターセプタを作ったんですが、
何故
invocation.getInvocationContext ().getParameters ()
して返ってくるパラメータって、String [] とかが含まれるんでしょう?
普通、request.getParameter ("hoge") とかやって返ってくるのは
String ですよね? String [] になっている意味がよく分からない
のですが…。
そもそも、<String,String> ではなくて <String,Object> になって
いるのがおかしい様な…。
どういう事でしょう?
290デフォルトの名無しさん
2009/07/17(金) 22:06:15> して返ってくるパラメータって、String [] とかが含まれるんでしょう?
HTTPの仕組みをちゃんと理解してるのか?
同一名で複数のパラメータ値を送信することもあるだろうが。
> そもそも、<String,String> ではなくて <String,Object> になって
> いるのがおかしい様な…。
ファイルアップロード。
291デフォルトの名無しさん
2009/07/18(土) 00:11:54 >>290
おぉぉ!そうですね!!(笑)
俺とした事がそんな事も思いつかないとは………。
じゃあ String か String [] 以外がきたときはそのままにして
デコードはしない方がいいですね。
でも、マルチパートの場合、どうなるんでしょ??
FileUploadInterceptor を通る前に既にきちんとパラメータを
認識してくれてるんですかねぇ。
まぁちょっと実験してみます。
おぉぉ!そうですね!!(笑)
俺とした事がそんな事も思いつかないとは………。
じゃあ String か String [] 以外がきたときはそのままにして
デコードはしない方がいいですね。
でも、マルチパートの場合、どうなるんでしょ??
FileUploadInterceptor を通る前に既にきちんとパラメータを
認識してくれてるんですかねぇ。
まぁちょっと実験してみます。
292デフォルトの名無しさん
2009/07/18(土) 03:38:26 struts1.3 + spring2.5でdelegatingactionproxyで連携
しようと思っています。
この場合、DIするためにActionクラスにインスタンス変数を
持たなければならないのですが、この変数はスレッドセーフで
動作するのでしょうか?
しないならば、どのような解決策が考えられるでしょうか?
どなたかお知恵のある方、ご解答よろしくお願いします。
しようと思っています。
この場合、DIするためにActionクラスにインスタンス変数を
持たなければならないのですが、この変数はスレッドセーフで
動作するのでしょうか?
しないならば、どのような解決策が考えられるでしょうか?
どなたかお知恵のある方、ご解答よろしくお願いします。
293デフォルトの名無しさん
2009/07/18(土) 21:22:32 Actionクラスが依存するDIの対象ってサービスクラスかDAOが一般的だと思うんだけど、
当然ながらどちらもステートレスとして実装されているはず。
だからスレッドセーフかどうか、なんて気にする必要はないはずなんだけど。
まあ状況がわからんから知らんが、最終手段としてはThreadLocal使えばOKじゃねーの。
当然ながらどちらもステートレスとして実装されているはず。
だからスレッドセーフかどうか、なんて気にする必要はないはずなんだけど。
まあ状況がわからんから知らんが、最終手段としてはThreadLocal使えばOKじゃねーの。
294デフォルトの名無しさん
2009/07/18(土) 23:46:08 >当然ながらどちらもステートレスとして実装されているはず。
とは限らないものをつかっているって事なんじゃないの?
スコープをプロトタイプにすればよろし
とは限らないものをつかっているって事なんじゃないの?
スコープをプロトタイプにすればよろし
295292
2009/07/19(日) 00:28:34 292です。マルチポストしてすみませんでした。
期日が迫っている作業なのであせっていました。
変数のスコープをプロトタイプにしたところ
hashCodeが異なる値で取得出来たので問題なさそうです。
ありがとうございました。
期日が迫っている作業なのであせっていました。
変数のスコープをプロトタイプにしたところ
hashCodeが異なる値で取得出来たので問題なさそうです。
ありがとうございました。
296デフォルトの名無しさん
2009/07/20(月) 15:37:33 >>287
I18nIterceptorが壊れたってこと?
I18nIterceptorが壊れたってこと?
297デフォルトの名無しさん
2009/07/20(月) 22:05:19 よく分かりませんが、パラメータが文字化けしちゃうんです。
例えば、
http://xxxx/TEST?test=あいうえお
とやって test で取得できるのは、本来はあいうえおのはず
ですが、実際には文字化けした文字列なんです。
まあ、今は自作のインターセプターで何とかなりました〜。
例えば、
http://xxxx/TEST?test=あいうえお
とやって test で取得できるのは、本来はあいうえおのはず
ですが、実際には文字化けした文字列なんです。
まあ、今は自作のインターセプターで何とかなりました〜。
298デフォルトの名無しさん
2009/07/20(月) 22:46:45 ひょっとして、こういう話?
ttp://www.google.co.jp/search?q=tomcat+URIEncoding+useBodyEncodingForURI
ttp://www.google.co.jp/search?q=tomcat+URIEncoding+useBodyEncodingForURI
299デフォルトの名無しさん
2009/07/21(火) 15:54:37 2.1.6で文字化けというと、StrutsPrepareAndExecuteFilterのことか?
DeprecatedではあるがFilterDispacherを使えばOKだ
DeprecatedではあるがFilterDispacherを使えばOKだ
300デフォルトの名無しさん
2009/07/22(水) 01:39:55 >>298
FilterDispatcherとstruts.i18n.encodingで正しく指定してる時って
useBodyEncodingForURI使うとかえって文字化けしない?
つか今試してたらGETだけ化けるんだが。文字コードはWindows-31J。
FilterDispatcherとstruts.i18n.encodingで正しく指定してる時って
useBodyEncodingForURI使うとかえって文字化けしない?
つか今試してたらGETだけ化けるんだが。文字コードはWindows-31J。
301デフォルトの名無しさん
2009/07/29(水) 01:47:23 ちょっと質問させてください。
よくデータベースからの結果を全部 ArrayList か何かにつっこんでしまって
それをセッションに入れておいて jsp 側から参照する、という形を見るんですが、
これってデータ量が多くなった時にかなり重くなったりしちゃうんじゃない
でしょうか?
例えば1万レコードくらいの ResultSet をガッツリセッションに保存してしまって
問題はないんでしょうか。
やってみりゃ分かるんでしょうが、皆さんの経験としていかがですか??
よくデータベースからの結果を全部 ArrayList か何かにつっこんでしまって
それをセッションに入れておいて jsp 側から参照する、という形を見るんですが、
これってデータ量が多くなった時にかなり重くなったりしちゃうんじゃない
でしょうか?
例えば1万レコードくらいの ResultSet をガッツリセッションに保存してしまって
問題はないんでしょうか。
やってみりゃ分かるんでしょうが、皆さんの経験としていかがですか??
302デフォルトの名無しさん
2009/07/29(水) 03:47:39 やってみてくれとしか。
まともな書籍読めばちゃんとそういう時にはこう実装するって載ってるよ。
アマゾンみたいなアイテム件数多いサイト作るとすぐ破綻してしまう事に成るし。
まともな書籍読めばちゃんとそういう時にはこう実装するって載ってるよ。
アマゾンみたいなアイテム件数多いサイト作るとすぐ破綻してしまう事に成るし。
303デフォルトの名無しさん
2009/07/29(水) 03:49:37 セッションスコープは設計ミスだな、struts2ならアクションのプロパティでJSP参照が王道
304デフォルトの名無しさん
2009/07/29(水) 12:10:05305デフォルトの名無しさん
2009/07/29(水) 14:20:11> そうすれば、ページ切り替え時には少なくとも検索のオーバーヘッド
> は発生しませんよね。
ページングでは、そのページで必要な分の情報しか取得せんだろjk
306デフォルトの名無しさん
2009/07/30(木) 03:48:50 欲しいところだけとるんじゃなくて
ROWNUMとかLIMITとかであらかじめ必要な件数しかとらないよ。
使い方を説明するようなサンプルコードでは普通ページングまで
書かないんじゃね?領域が違うから
ROWNUMとかLIMITとかであらかじめ必要な件数しかとらないよ。
使い方を説明するようなサンプルコードでは普通ページングまで
書かないんじゃね?領域が違うから
307デフォルトの名無しさん
2009/07/30(木) 03:57:48308デフォルトの名無しさん
2009/07/30(木) 06:16:10 1レコード200バイト(全角100文字分)のデータがあっても1万件で200KBにしか
ならないから、社内専用業務アプリとかでレコード件数が想定できるなら
爆弾でも無いんじゃないかな。
外部公開するシステムでそんな作りになってたら「趣味の延長でしかコード
書いたことないんだなあ」って思うけど
ならないから、社内専用業務アプリとかでレコード件数が想定できるなら
爆弾でも無いんじゃないかな。
外部公開するシステムでそんな作りになってたら「趣味の延長でしかコード
書いたことないんだなあ」って思うけど
309デフォルトの名無しさん
2009/07/30(木) 06:17:37310デフォルトの名無しさん
2009/07/30(木) 07:28:07 つ セッションタイムアウト
311デフォルトの名無しさん
2009/07/30(木) 10:08:31 >>307
ページ切り替え前提で、基本的なとこだけ
元データが数千万件と言う場合も有るので、取得最大件数を指定できるようにする
セッションに持つのは、取得最大件数分のプライマリキーまたはそれに該当するデータのみ
で、表示するページのデータのみ、セッションに持ったデータを元に取得
1ページあたりの件数も10〜100あたりで絞る
ページ切り替え前提で、基本的なとこだけ
元データが数千万件と言う場合も有るので、取得最大件数を指定できるようにする
セッションに持つのは、取得最大件数分のプライマリキーまたはそれに該当するデータのみ
で、表示するページのデータのみ、セッションに持ったデータを元に取得
1ページあたりの件数も10〜100あたりで絞る
312デフォルトの名無しさん
2009/07/30(木) 10:54:28313デフォルトの名無しさん
2009/07/30(木) 21:25:09 >>301
ものによる。
件数等を見ていろいろといじる。
というのはリクエストのたびのデータベースアクセスも負荷が大きくなりやすいから。
それに万単位でデータを取るということはまずないはず。
LIMITとかOffsetだけ使うようなシンプルなやつだと楽だけど、
実際のところ表示したデータの戦闘と終端のキーを持つことも多い。
セッションをサーブレットにおかずにEJB等にもっていって
そちらで管理してもらうというのもまぁやる。
メモリが圧迫すれば自動的に吐き出すから、何回もブラウザ起動しなおして
セッションタイムアウトまで圧迫するということはない。
ものによる。
件数等を見ていろいろといじる。
というのはリクエストのたびのデータベースアクセスも負荷が大きくなりやすいから。
それに万単位でデータを取るということはまずないはず。
LIMITとかOffsetだけ使うようなシンプルなやつだと楽だけど、
実際のところ表示したデータの戦闘と終端のキーを持つことも多い。
セッションをサーブレットにおかずにEJB等にもっていって
そちらで管理してもらうというのもまぁやる。
メモリが圧迫すれば自動的に吐き出すから、何回もブラウザ起動しなおして
セッションタイムアウトまで圧迫するということはない。
314デフォルトの名無しさん
2009/07/31(金) 00:49:20 セッションにオブジェクトを入れまくって長寿命のオブジェクトを増やすと、
Full GCの頻度が増える気がするんだが、その辺は大丈夫なのか。
Full GCの頻度が増える気がするんだが、その辺は大丈夫なのか。
315デフォルトの名無しさん
2009/07/31(金) 01:10:34316デフォルトの名無しさん
2009/07/31(金) 12:54:16 >>313
>セッションをサーブレットにおかずにEJB等にもっていって
>そちらで管理してもらうというのもまぁやる。
>メモリが圧迫すれば自動的に吐き出すから、何回もブラウザ起動しなおして
>セッションタイムアウトまで圧迫するということはない。
分かってなくて申し訳ないんですが、この部分をもう少しお教え頂けない
でしょうか?
外部に置くというのはなんとなく分かったんですが、アプリケーション
サーバと別に置くという事は、HttpSessionBindingListener みたいな
ものでセッション切れを検知して、外部のサーバーなりに、こいつの
情報は消せ!みたいな事をする必要があるって事ですか?
もし何らかのコンポーネント化されている様でしたら名前を教えて
頂きたいのですが。
あと、「メモリが圧迫すれば自動的に吐き出す」ここの意味もちょっと
よく分かりませんでした。
教えてクンで申し訳ないですが、何卒よろしくお願いします。
>セッションをサーブレットにおかずにEJB等にもっていって
>そちらで管理してもらうというのもまぁやる。
>メモリが圧迫すれば自動的に吐き出すから、何回もブラウザ起動しなおして
>セッションタイムアウトまで圧迫するということはない。
分かってなくて申し訳ないんですが、この部分をもう少しお教え頂けない
でしょうか?
外部に置くというのはなんとなく分かったんですが、アプリケーション
サーバと別に置くという事は、HttpSessionBindingListener みたいな
ものでセッション切れを検知して、外部のサーバーなりに、こいつの
情報は消せ!みたいな事をする必要があるって事ですか?
もし何らかのコンポーネント化されている様でしたら名前を教えて
頂きたいのですが。
あと、「メモリが圧迫すれば自動的に吐き出す」ここの意味もちょっと
よく分かりませんでした。
教えてクンで申し訳ないですが、何卒よろしくお願いします。
317デフォルトの名無しさん
2009/07/31(金) 14:58:25 > OFFSET系は業務系ではまず使わない。
案件の性質によるだろ
なんでもかんでも重厚に書けばいいってもんじゃない
案件の性質によるだろ
なんでもかんでも重厚に書けばいいってもんじゃない
318デフォルトの名無しさん
2009/07/31(金) 18:06:05 うちの案件ではページングもさせてもらえん。
div入れ子で全件表示
div入れ子で全件表示
319デフォルトの名無しさん
2009/08/01(土) 06:22:24 >>315
>次へ次へとページングしても前のページでデータが消されたりしていると
>表示されないデータが出てきたりして問題が発生するからOFFSET系は業務系ではまず使わない。
むしろ消されてるデータが表示されることの方が問題なので
OFFSET LIMITを使うべき
>次へ次へとページングしても前のページでデータが消されたりしていると
>表示されないデータが出てきたりして問題が発生するからOFFSET系は業務系ではまず使わない。
むしろ消されてるデータが表示されることの方が問題なので
OFFSET LIMITを使うべき
320デフォルトの名無しさん
2009/08/01(土) 07:26:22 >>314
FullGCの頻度が増えるかっていうより、単純にそれだけメモリを
確保しっぱなしになるっていう話だからメモリが足りてればいいんじゃないかな。
つーかリクエストスコープで済む物をセッションに入れることは
基本的に推奨されない。スコープは短く、不必要なオブジェクトは解放、これ常識。
前にWebサーバーでSSLしてるせいでロードバランサーが割り振りできない案件が
あって(携帯対応なのでCookie非対応機を考慮しないと行けない)、結局その時は
セッション情報をDBに入れてアクセスの度に呼び出してたんだけど、セッションデータを
少なくしておいてよかったと思ったよ。
そのLBの下ではすでに別の携帯用のサービスが動いていたからあんま考慮してなかったんだが、
本番開始してからそのサービスは前から時々セッション切れを起こすって聞いて、
インフラに確認したらLBではIPアドレスによる振り分けしかしてないってんであわてて対処した。
FullGCの頻度が増えるかっていうより、単純にそれだけメモリを
確保しっぱなしになるっていう話だからメモリが足りてればいいんじゃないかな。
つーかリクエストスコープで済む物をセッションに入れることは
基本的に推奨されない。スコープは短く、不必要なオブジェクトは解放、これ常識。
前にWebサーバーでSSLしてるせいでロードバランサーが割り振りできない案件が
あって(携帯対応なのでCookie非対応機を考慮しないと行けない)、結局その時は
セッション情報をDBに入れてアクセスの度に呼び出してたんだけど、セッションデータを
少なくしておいてよかったと思ったよ。
そのLBの下ではすでに別の携帯用のサービスが動いていたからあんま考慮してなかったんだが、
本番開始してからそのサービスは前から時々セッション切れを起こすって聞いて、
インフラに確認したらLBではIPアドレスによる振り分けしかしてないってんであわてて対処した。
321319
2009/08/01(土) 07:33:02 >>>315
>>次へ次へとページングしても前のページでデータが消されたりしていると
>>表示されないデータが出てきたりして問題が発生するからOFFSET系は業務系ではまず使わない。
>
> むしろ消されてるデータが表示されることの方が問題なので
> OFFSET LIMITを使うべき
ああ勘違いしてた。,1〜10,を表示後、11〜20を表示しようとして7が消されてると、
12〜21が表示されてしまって11が表示されない、という事がいいたかったのか。
それってページングでは当たり前というかむしろそうあるべきと思うんだがどうなの?
最初に取得したのを信じるとレコードが挿入されても反映されないわけだし。
数百万件なんていうレコードがあるテーブルでは言わずもがなでSELECT時からページングだし、
挙動が同じ方がわかりやすくね?
>>次へ次へとページングしても前のページでデータが消されたりしていると
>>表示されないデータが出てきたりして問題が発生するからOFFSET系は業務系ではまず使わない。
>
> むしろ消されてるデータが表示されることの方が問題なので
> OFFSET LIMITを使うべき
ああ勘違いしてた。,1〜10,を表示後、11〜20を表示しようとして7が消されてると、
12〜21が表示されてしまって11が表示されない、という事がいいたかったのか。
それってページングでは当たり前というかむしろそうあるべきと思うんだがどうなの?
最初に取得したのを信じるとレコードが挿入されても反映されないわけだし。
数百万件なんていうレコードがあるテーブルでは言わずもがなでSELECT時からページングだし、
挙動が同じ方がわかりやすくね?
322デフォルトの名無しさん
2009/08/01(土) 10:16:37 >>321
数百万件ではなく数十件でもページングがあれば発生する
業務系で今まではスクロールで実装されていたのを単純にオフセット使うと問題になる
ある特定時点でのデータを順番に見ていくというのは非常によくあること
数百万件ではなく数十件でもページングがあれば発生する
業務系で今まではスクロールで実装されていたのを単純にオフセット使うと問題になる
ある特定時点でのデータを順番に見ていくというのは非常によくあること
323デフォルトの名無しさん
2009/08/01(土) 18:47:04 だから無効なデータを表示したり、新規のデータを表示しないのは不味いという話。
データベースは最新の情報しか持たない。履歴は他にちゃんと仕組みを考えるべき。
いちいち作業用のデータベース作りまくるコボラー思考なんじゃないの?
データベースは最新の情報しか持たない。履歴は他にちゃんと仕組みを考えるべき。
いちいち作業用のデータベース作りまくるコボラー思考なんじゃないの?
324デフォルトの名無しさん
2009/08/01(土) 22:40:42 >>320
>メモリが足りてればいいんじゃないかな
メモリを足したところで、Scavenge GCを生き延びてOld領域に追い出されたオブジェクトが減るわけではない。
そういったオブジェクトが広大なOld領域を少しずつ食いつぶし、
いずれ発生するFull GCの際には大きな足かせとなる。
メモリを足せばFull GCの回数は減るが、
いざFull GCが起きたときの処理は、メモリサイズに応じて重くなる。
まあ、スコープは短く、というのには激しく同意する。
>メモリが足りてればいいんじゃないかな
メモリを足したところで、Scavenge GCを生き延びてOld領域に追い出されたオブジェクトが減るわけではない。
そういったオブジェクトが広大なOld領域を少しずつ食いつぶし、
いずれ発生するFull GCの際には大きな足かせとなる。
メモリを足せばFull GCの回数は減るが、
いざFull GCが起きたときの処理は、メモリサイズに応じて重くなる。
まあ、スコープは短く、というのには激しく同意する。
325デフォルトの名無しさん
2009/08/01(土) 23:57:50326デフォルトの名無しさん
2009/08/02(日) 01:35:45 セッションで持つ必要性があるか OFFSET / LIMIT 使うかは
結局のところ何のためにページングしたいかによるんじゃないか?
やりたいことによっちゃページングなぞしないで全件表示が一番よい場合もあるだろうし
結局のところ何のためにページングしたいかによるんじゃないか?
やりたいことによっちゃページングなぞしないで全件表示が一番よい場合もあるだろうし
327デフォルトの名無しさん
2009/08/02(日) 08:55:26328デフォルトの名無しさん
2009/08/02(日) 16:35:48 何万件も有ると遅いって文句言いそうwww
329デフォルトの名無しさん
2009/08/03(月) 18:04:29 エラー表示をテキストエリアに出したいのですが、
<s:actionError>のタグを使うと、
テキストエリア内に<ul><li>ってタグが一緒に表示されるのですが、
これはどのようにすれば消すことができるのでしょうか?
<s:actionError>のタグを使うと、
テキストエリア内に<ul><li>ってタグが一緒に表示されるのですが、
これはどのようにすれば消すことができるのでしょうか?
330デフォルトの名無しさん
2009/08/03(月) 19:26:31 ActionErrorTagクラスを見る限り、どうもハードコーディングされてるっぽいな
独自に出力するのなら。やりかたは2つある。
1. 自分でfreemarkerのテンプレートを用意する。そして、
<s:actionerrors theme="oreore" templateDir="fm" template="oreore-actionerror.ftl" />
みたいな感じで書けば動くはず。詳しくはドキュメントを見てくれ。
このやり方はなにかと面倒だから、俺はオススメしない。
2. 自分でactionerrorを出力するJSPを書く。
<s:if test="!#action.actionErrors.isEmpty()">
<s:iterator var="err" value="#action.actionErrors">
<s:property value="#err" /><br />
</s:iterator>
</s:if>
とでも書いて外部JSP化し、includeすればいい。俺ならこっちでやる。
独自に出力するのなら。やりかたは2つある。
1. 自分でfreemarkerのテンプレートを用意する。そして、
<s:actionerrors theme="oreore" templateDir="fm" template="oreore-actionerror.ftl" />
みたいな感じで書けば動くはず。詳しくはドキュメントを見てくれ。
このやり方はなにかと面倒だから、俺はオススメしない。
2. 自分でactionerrorを出力するJSPを書く。
<s:if test="!#action.actionErrors.isEmpty()">
<s:iterator var="err" value="#action.actionErrors">
<s:property value="#err" /><br />
</s:iterator>
</s:if>
とでも書いて外部JSP化し、includeすればいい。俺ならこっちでやる。
331デフォルトの名無しさん
2009/08/03(月) 23:25:54 ちょっと確認したいんだが、JSPの画面でボタンを押す
→DBの中身をSQLで取ってきてそれを配列に格納する
→配列の内容を最初のJSP画面でテーブル表示するというのは
<logic:iterate>とJavascriptを使うのだろうけど、
配列の内容をテキストボックスに入れた状態で表示して
なおかつチェックボックスも一緒に表示したい時って
<logic:iterate id="AA">
<html:checkbox name="AA" property="AA-BB" value="1" onClick等... />と
<html:text name="AA" property="AA-CC" value="AA-CC" /></logic:iterate>
とかでいいの?
<bean:write id="AAA" property="???" />だとテキストボックス表示できないし。
→DBの中身をSQLで取ってきてそれを配列に格納する
→配列の内容を最初のJSP画面でテーブル表示するというのは
<logic:iterate>とJavascriptを使うのだろうけど、
配列の内容をテキストボックスに入れた状態で表示して
なおかつチェックボックスも一緒に表示したい時って
<logic:iterate id="AA">
<html:checkbox name="AA" property="AA-BB" value="1" onClick等... />と
<html:text name="AA" property="AA-CC" value="AA-CC" /></logic:iterate>
とかでいいの?
<bean:write id="AAA" property="???" />だとテキストボックス表示できないし。
332デフォルトの名無しさん
2009/08/03(月) 23:50:00 struts2スレだから、struts2という前提だけどsタグ以外は使わないよ普通
333デフォルトの名無しさん
2009/08/04(火) 14:22:15 >>331
なにをしたいのか意味がわからないんだけど。
同じ名前のパラメータをチェックボックスとテキストエリアで送りたい?
そんなことしたら、サーバが受け取るパラメータは
AA = { "1", "hoge" }
みたいになるぞ。
なにをしたいのか意味がわからないんだけど。
同じ名前のパラメータをチェックボックスとテキストエリアで送りたい?
そんなことしたら、サーバが受け取るパラメータは
AA = { "1", "hoge" }
みたいになるぞ。
334デフォルトの名無しさん
2009/08/05(水) 19:22:27 StrutsとXILISHは語呂が似てるよな?おまえら、ソウ思うだろ?
335デフォルトの名無しさん
2009/08/05(水) 19:25:34 俺はCプログラマだけど、
XILSSHみるとStrutsにみえる。
XILSSHみるとStrutsにみえる。
336デフォルトの名無しさん
2009/08/06(木) 03:20:22 俺はロッテのガムが好きだけど
XILSSHみるとキシリッシュと呼んでしまう
XILSSHみるとキシリッシュと呼んでしまう
337デフォルトの名無しさん
2009/08/14(金) 10:49:41338デフォルトの名無しさん
2009/08/14(金) 15:51:18 そうか?
2つクラスを用意する必要があるけど、本来1つのクラスに書くべき内容を
2つに分けただけなんだし、労力はそんなにかわらんだろ
2つクラスを用意する必要があるけど、本来1つのクラスに書くべき内容を
2つに分けただけなんだし、労力はそんなにかわらんだろ
339デフォルトの名無しさん
2009/08/14(金) 18:33:19 一つで書くべき内容を二つにわけるのは、めんどくさいだろ。
340デフォルトの名無しさん
2009/08/15(土) 07:22:57 struts2とJSFはどっちが将来性あるの?
341デフォルトの名無しさん
2009/08/15(土) 13:04:07 神のみぞ汁
342デフォルトの名無しさん
2009/08/16(日) 06:01:58 世界はJSFに向かってるけど、国内は依然struts1のままで止まってる感じ。
struts2が出来るエンジニアが居ないのか、struts2での開発を契約したがらない営業が多いのか。
struts2が出来るエンジニアが居ないのか、struts2での開発を契約したがらない営業が多いのか。
343デフォルトの名無しさん
2009/08/17(月) 11:59:05 >>338
似たようなプロパティ用意してどっちもアクセッサつけたり、
そもそも普通のTagSupportの派生にしたときみたいに
つくりが単純じゃないのがなんかいただけないっつーか
後で新人に保守させるときちゃんと理解してくれるだろうかっつーか。
似たようなプロパティ用意してどっちもアクセッサつけたり、
そもそも普通のTagSupportの派生にしたときみたいに
つくりが単純じゃないのがなんかいただけないっつーか
後で新人に保守させるときちゃんと理解してくれるだろうかっつーか。
344デフォルトの名無しさん
2009/08/17(月) 22:17:49 新人に保守させるのは結構危険だと思うけどな。
345デフォルトの名無しさん
2009/08/17(月) 23:31:30 新人に合わせるなら、最初から新人が組めば良くないか。
人件費高い経験者不要。
人件費高い経験者不要。
346デフォルトの名無しさん
2009/08/18(火) 02:40:43 後で誰が保守するかわからんからなるべくわかりやすく
しとくのは大事ー大事ー
しとくのは大事ー大事ー
347デフォルトの名無しさん
2009/08/18(火) 14:51:42348デフォルトの名無しさん
2009/08/19(水) 11:55:47 骨格しっかりつくって真似させて、末端のコードは
誰が書いても似たような構成になるようにシンプルに保つ。
これしかない
誰が書いても似たような構成になるようにシンプルに保つ。
これしかない
349デフォルトの名無しさん
2009/08/19(水) 12:11:40 本買って休み中に勉強しようかと思ったけど今一つ良いのがなさそうだな
IN ACTIONは英語苦手だし
IN ACTIONは英語苦手だし
350デフォルトの名無しさん
2009/08/19(水) 12:51:43351デフォルトの名無しさん
2009/08/19(水) 15:18:25 >新人が組めば良くないか。
あとで結局コストがかかるの術〜
あとで結局コストがかかるの術〜
352デフォルトの名無しさん
2009/08/19(水) 23:02:54 新人でも自称○年でも大して変わんねーよ
353デフォルトの名無しさん
2009/08/20(木) 18:53:05 「自称」ならな。
354デフォルトの名無しさん
2009/08/22(土) 02:43:41 似通った画面がいくつかあってhiddenで項目値を受け渡しする、各々の画面で
ValidatorFormのvalidateで入力チェックする時ってアクションフォーム継承しちゃだめですか?
各々のアクションフォームに同じ定義書くのはメンテしにくそうで避けたいんだけどstruts1.3でエラーになるんです。
下記みたいに継承してます。
ValidatorForm
|
+アクションフォームA
|
+アクションフォームB
|
+アクションフォームC
ValidatorFormのvalidateで入力チェックする時ってアクションフォーム継承しちゃだめですか?
各々のアクションフォームに同じ定義書くのはメンテしにくそうで避けたいんだけどstruts1.3でエラーになるんです。
下記みたいに継承してます。
ValidatorForm
|
+アクションフォームA
|
+アクションフォームB
|
+アクションフォームC
355デフォルトの名無しさん
2009/08/22(土) 23:36:53 新人が理解出来ない時点で保守なんて無理。
新人が最初から組めば保守出来るじゃねーか。
結論:単価高いベテランPGは不要。
新人が最初から組めば保守出来るじゃねーか。
結論:単価高いベテランPGは不要。
356デフォルトの名無しさん
2009/08/23(日) 10:41:17■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★12 [蚤の市★]
- 女性天皇「賛成」69%、将来の皇位継承「不安」68%…読売世論調査 [蚤の市★]
- 不倫疑惑の永野芽郁さん、CM削除ドミノの違約金“やはり発生は免れない”可能性 約10億円になる見込み、本人は全額支払う覚悟 [牛丼★]
- 旧姓使用拡大に連合会長が反発 「何の説明もない。選択的夫婦別氏制度導入を」 男女共同参画会議 ★2 [ぐれ★]
- 開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 ★2 [ぐれ★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 【悲報】中学受験、意味がなかった…「中学受験をやっても大部分の子供は無勉で入れるMARCH地方国立大に行くのが精一杯です [483447288]
- ジムでインターバルの時にウロウロ歩くやつなんなの?
- レイプはとっても気持ちがいい
- 【悲報】ドイツ人「なんで日本人って自炊するの?出来合の惣菜や冷食食った方が楽でコスパいいやん。そんなんだから低生産性なんだよ [786648259]
- 大阪行くわよーーーッ!!!
- 近所の騒音おじさんが俺にだけ優しくしてくる
