△△もっとStruts2の良さを教えてくださいSsssion6

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2008/08/01(金) 05:27:03
Apache Strutsフレームワークについて語るスレ

前スレ
△△もっとStrutsの良さを教えてくださいSession5
http://pc11.2ch.net/test/read.cgi/tech/1167469508/
2009/06/30(火) 15:05:25
JSPのダメなところってどこだろう?
2009/06/30(火) 20:00:20
>>234
使ったことないから知らんけど
FreeMarkerはEclipseで自動的に文法チェックしてくれるの?
2009/06/30(火) 21:02:51
>strutsの遷移先をWEB-INF/classes/jp/example/project/package/jsp/member/list.jsp

んでこれはどうなのよ。
なんかactionとjspが同じフォルダだと、phpでMVCとかいいながら結局
TransactionScriptになっちゃってるダサ実装みたいだなあと思ったけど
意外と行けるかもしれん。
2009/06/30(火) 21:47:13
同じフォルダにあることとTransactionScriptは
関係ないのでは


2009/06/30(火) 22:00:54
そういや昔WEB-INFの先にフォワードできないのIBM系に多かったのを思い出した
Sun系はできてた(Tomcatはsun)

たぶん今でも動いてるシステム多数あるな
2009/06/30(火) 22:06:04
>>238
いやなんか層の切り分けができない感じで。ダメ?
もちろん直接の関係はない。
2009/06/30(火) 23:13:46
>>239
それSunとかIBMとかの問題なのか?
WebSphereとTomcatの差なだけでIBMのVMでTomcat動かしても
OKだったとかいう話じゃないのか?その現象は知らんけども
2009/06/30(火) 23:43:12
>236
してくれるよ。

あと、Struts2のページにも書いてあるように、FreeMarkerはエラーメッセージが
とても分かりやすいので開発しやすい。
2009/07/03(金) 11:10:03
struts2の話だけどさ、struts.xmlのpackageのnamespaceの指定って、
action-jspの結び付けをstruts.xmlでやらずにアノテーションでやったら
無視されるんだね

ParentPackageで指定してるのに全然効かないよ。
namespace指定なしでフォルダ階層と一致させるからいいんだけどさ。
どっかに解説サイトないかな。


244デフォルトの名無しさん
垢版 |
2009/07/04(土) 02:12:12
strtus1.3使ってんだけど
form-beanに定義してあるtype属性に指定しているフォームクラスの
インスタンス化に失敗する。
クラスの場所をsrcフォルダ直下のデフォルトパッケージにするとうまくいく。


クラスの保存場所:java.formパッケージの中
type="java.form.aaaForm" ←これだと失敗

クラスの保存場所:src直下
type="aaaForm" ←これだとうまくいく。

フォームクラスはpublicでバリデータフォーム継承してる。
クラスの配置場所はtype属性と完璧にあっている。
コンパイルされたjspとxml定義は完璧にあっている。

環境はtomcat6 + struts1.3.1 + apache

なんで?
2009/07/04(土) 02:22:20
ここ、struts2のスレじゃないの?
2009/07/04(土) 03:07:54
超絶過疎
2009/07/04(土) 03:42:37
いやstrutsのスレだった。
6スレ目(このスレ)を作った奴がいろいろとタイトルを失敗した
2009/07/04(土) 03:45:13
>>244
ClassNotFoundがでるってこと?WEB-INF/classes以下に.classファイルが
できてるか確認して。
java.formに配置したときにpackage宣言書き換えてないとかはさすがにないか。
Eclipse使ってるんだろうし
2009/07/04(土) 04:01:12
クラスはできてるよ
2009/07/04(土) 04:11:17
ClassNotFoundじゃなくて
strutsのhtml:formタグ読み込んだときにaction属性のパスと一致する
名前をstruts-configのaction-mappingsから探すところまでは問題ない。
そのactionタグの中のname属性の名前と一致するform-bean定義の
name属性に対するtypeで指定したパスのクラスがnullとかでる。

java.lang.NullPointerException と
javax.servlet.jsp.JspException: 〜beanを生成する際の例外〜

っつーのが出る
2009/07/04(土) 12:37:00
該当箇所を省略せずにあげたほうがいいぞ
2009/07/04(土) 14:05:59
パッケージ名をjavaから始めるなw
2009/07/04(土) 21:44:20
自己解決したっぽい。
>252が意図していったのかどうかはわからんけど
どうも原因はパッケージ名がjavaからだと見つからないようだ。
予約語みたいな扱いか?とんでもねぇ罠だ
2009/07/04(土) 23:57:16
いや、罠じゃなくてJavaはそのパッケージは使っちゃいけないことになってる
2009/07/05(日) 07:49:50
>222
自己レスだが、今のxwork2.1.4のソース見てたらできそうだな。
xwork2.0.4のMethodFilterInterceptorUtilをjadしてみたら
「*」には対応してるけど「input*」みたいのは無理そうだった。
2009/07/05(日) 14:09:22
ユーザーがトップ画面で言語(日本語と英語とか)を明示的に切り替える時って
ActionのgetText()使えないよね?
properties_ja/properties_enファイルでメッセージ管理したいんだけど
自分でResouceBundle取得するクラス用意するしかないのか。
2009/07/06(月) 13:03:39
>>253

http://java.sun.com/docs/books/jls/third_edition/html/names.html#6.8.1

2009/07/09(木) 08:22:20
リビジョンが0.02上がっただけでクラス構成が変わるとか
恐るべしxwork
2009/07/09(木) 13:23:33
jspをsrcフォルダの下に入れてる人おる?
jspをステップ実行しようとするとソースが見つからないと出るんだけど
素直に/WEB-INF/jspに入れるべきか悩んでる
2009/07/09(木) 13:47:38
ああ、数時間かかったけどできた。
ソース探すときに/WEB-INF/classes/path._to_folder/aaaa.jsp
というフォルダ構成になってないといけないから、
ソースルックアップパスにwtppluginのtmpフォルダを指定するか、
ソースの出力フォルダーを/WEB-INF/classesにしないといけないんだわ。
んでsrcを右クリックして後者をやろうとするとソースフォルダーに指定できませんとか
怒られるんだけど、.classpathファイルを直接変更でうまくいった。

誰の参考にもならないと思うけど俺へのメモ
2009/07/09(木) 13:50:59
今更JSPはやめろよ。
2009/07/09(木) 14:21:16
納期が短いのでこれからFreeMarkerの勉強してエラーが出たときに
どうしたらいいのかノウハウ蓄える余裕がない。
つーかわざわざ勉強し直してプロジェクトメンバーに教え直すほどのメリットあるの?
2009/07/09(木) 14:24:39
>262
ページ単位でちゃんぽんにしてもいいんだぞ?
最初は、単純なページだけFreeMarkerにしとけばいい。
2009/07/09(木) 14:29:07
アホか
そんな余計手間がかかるようなこと仕事でするかよw
2009/07/10(金) 12:02:12
>FreeMarkerはエラーメッセージが
>とても分かりやすいので開発しやすい。

素のjspだってわかりやすかったのにValueStackがいけないんだよな
2009/07/10(金) 14:23:19
JSPのエラーメッセージがわかりやすいとか、いみふ。
エラーメッセージを出すのはコンテナだろ。
どんなエラーメッセージが出るのかはアプリケーションサーバの実装依存。
2009/07/10(金) 14:26:13
そうだけどjspなら常識的にjsp内で起こったエラーがでるだろ。
脳みそ足りてる?
2009/07/10(金) 14:47:02
それって分かりやすいと言えるのか?
2009/07/10(金) 14:59:28
例外生成しても何事もなかったようにスルーして空文字列を返されたり
NullPoやNoSuchMethodしか返さないValueStackのエラーよりは遙かにわかりやすい
2009/07/10(金) 15:16:50
>>267
JSPの実装そのものがコンテナ依存なんだよ。
脳みそ足りてるか?

・・・というか、経験がないんだな。きっと。
2009/07/10(金) 15:27:31
例外スルーしたり、型名しか返さないコンテナもあるよね。
少しまえのOC4Jとか。
今でもそうなのかは知らないけど。
2009/07/10(金) 16:05:35
>>270
うむ、そう言われれば確かにtomcatとWebLogic以外の経験はない
2009/07/10(金) 22:00:46
つまりまともなコンテナ使ってないのに、エラーが分かりにくいとか逝ってる訳?
まともなコンテナ使えば済む話だろ。
まあそういうエラー処理とか趣味のオープンソースではやりたがらないだろうから期待出来なくてもしょうがないが。
2009/07/10(金) 22:17:00
つまり、昨年はでのオラクルのコンテナは
まともではなかったと言いたいわけか。
エラーメッセージが不親切イコールまともでは無い、ならIBMもかなりヤバイ。
2009/07/10(金) 22:54:46
WebLogicはOracleだし、TomcatやGlassfishはもともとsun

つまり、Oracleが一番まともってことか

アレ?
2009/07/11(土) 00:28:15
話がまったく噛み合ってないスレはここですか?
2009/07/11(土) 05:03:39
>>270
ほとんどのシチュエーションでJasper使ってるとかを考慮してないレスに意味はないな
2009/07/11(土) 09:37:50
JasperにあらずんばJSPにあらず。
OASもJettyもResinもおよそまともでは無い。


とでも言いたげだな
2009/07/11(土) 10:02:06
去年までのオラクルなら、オラクルアプリケーションサーバって言ういまいちなのがあってだな(ry
だからわざわざweblogic買収して製品強化したつもり?

jasperのエラーメッセージが糞なので、まともじゃないって?
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なクラスです。
281280
垢版 |
2009/07/13(月) 19:22:41
すいません、ActionにallListをおいてアクセッサつけてもダメだったので
なんか別のところが間違っているみたいです。出直してきます。
2009/07/13(月) 22:01:23

OGNLはデフォルトでstaticメソッドを実行できんようになっている。

struts2-core.jarの中に入っている
org/apache/struts2/default.properties
を見ろ。

struts.ognl.allowStaticMethodAccess

を値をtrueにすればよいはずだ。試してないけど。
2009/07/13(月) 23:37:05
>>282
うおおおおおおおおお、ありがとう
僕にもできたよママン

ちなみに>>281はActionに置くときの名前をスペルミスするという凡ミスでした
2009/07/17(金) 11:15:05
あの、Struts には Interceptor というものがある様ですが、
という事は AOP にも対応していると考えていいのでしょうか?

素人なので変な事を言っていたらすみません。
2009/07/17(金) 14:14:41
struts2のInterceptorはjavax.servlet.filterのようにAction#execute()の実行前後に
処理を挟めるだけ。サービス層とかでAOPするならspring-pluginとかと組み合わせる。
2009/07/17(金) 14:46:32
>>285
なるほど。確かにその様ですね。
ビミョーに似てるっちゃ似てるけど限定されてるんですね。

ありがとうございました。
2009/07/17(金) 20:18:08
Struts 2.1.6 ではパラメータが文字化けしてしまうそうですが、
みなさんそのあたりはどうしてます?

自作インターセプタなどで対処してるんでしょうか。
2009/07/17(金) 20:27:21
>287
前のバージョンのフィルターが@deprecatedで残ってるから、それを使ってる、
気がする。
2009/07/17(金) 20:46:37
>>288
そうなんですかぁ。

今デコードするためのインターセプタを作ったんですが、
何故

invocation.getInvocationContext ().getParameters ()

して返ってくるパラメータって、String [] とかが含まれるんでしょう?
普通、request.getParameter ("hoge") とかやって返ってくるのは
String ですよね? String [] になっている意味がよく分からない
のですが…。

そもそも、<String,String> ではなくて <String,Object> になって
いるのがおかしい様な…。

どういう事でしょう?
2009/07/17(金) 22:06:15

> して返ってくるパラメータって、String [] とかが含まれるんでしょう?

HTTPの仕組みをちゃんと理解してるのか?
同一名で複数のパラメータ値を送信することもあるだろうが。


> そもそも、<String,String> ではなくて <String,Object> になって
> いるのがおかしい様な…。

ファイルアップロード。



2009/07/18(土) 00:11:54
>>290
おぉぉ!そうですね!!(笑)
俺とした事がそんな事も思いつかないとは………。

じゃあ String か String [] 以外がきたときはそのままにして
デコードはしない方がいいですね。

でも、マルチパートの場合、どうなるんでしょ??
FileUploadInterceptor を通る前に既にきちんとパラメータを
認識してくれてるんですかねぇ。

まぁちょっと実験してみます。
2009/07/18(土) 03:38:26
struts1.3 + spring2.5でdelegatingactionproxyで連携
しようと思っています。
この場合、DIするためにActionクラスにインスタンス変数を
持たなければならないのですが、この変数はスレッドセーフで
動作するのでしょうか?
しないならば、どのような解決策が考えられるでしょうか?
どなたかお知恵のある方、ご解答よろしくお願いします。
2009/07/18(土) 21:22:32
Actionクラスが依存するDIの対象ってサービスクラスかDAOが一般的だと思うんだけど、
当然ながらどちらもステートレスとして実装されているはず。
だからスレッドセーフかどうか、なんて気にする必要はないはずなんだけど。

まあ状況がわからんから知らんが、最終手段としてはThreadLocal使えばOKじゃねーの。
2009/07/18(土) 23:46:08
>当然ながらどちらもステートレスとして実装されているはず。
とは限らないものをつかっているって事なんじゃないの?
スコープをプロトタイプにすればよろし
295292
垢版 |
2009/07/19(日) 00:28:34
292です。マルチポストしてすみませんでした。
期日が迫っている作業なのであせっていました。
変数のスコープをプロトタイプにしたところ
hashCodeが異なる値で取得出来たので問題なさそうです。
ありがとうございました。
2009/07/20(月) 15:37:33
>>287
I18nIterceptorが壊れたってこと?
2009/07/20(月) 22:05:19
よく分かりませんが、パラメータが文字化けしちゃうんです。

例えば、

http://xxxx/TEST?test=あいうえお

とやって test で取得できるのは、本来はあいうえおのはず
ですが、実際には文字化けした文字列なんです。

まあ、今は自作のインターセプターで何とかなりました〜。
2009/07/20(月) 22:46:45
ひょっとして、こういう話?
ttp://www.google.co.jp/search?q=tomcat+URIEncoding+useBodyEncodingForURI
2009/07/21(火) 15:54:37
2.1.6で文字化けというと、StrutsPrepareAndExecuteFilterのことか?
DeprecatedではあるがFilterDispacherを使えばOKだ
2009/07/22(水) 01:39:55
>>298
FilterDispatcherとstruts.i18n.encodingで正しく指定してる時って
useBodyEncodingForURI使うとかえって文字化けしない?
つか今試してたらGETだけ化けるんだが。文字コードはWindows-31J。

301デフォルトの名無しさん
垢版 |
2009/07/29(水) 01:47:23
ちょっと質問させてください。

よくデータベースからの結果を全部 ArrayList か何かにつっこんでしまって
それをセッションに入れておいて jsp 側から参照する、という形を見るんですが、
これってデータ量が多くなった時にかなり重くなったりしちゃうんじゃない
でしょうか?

例えば1万レコードくらいの ResultSet をガッツリセッションに保存してしまって
問題はないんでしょうか。

やってみりゃ分かるんでしょうが、皆さんの経験としていかがですか??
2009/07/29(水) 03:47:39
やってみてくれとしか。

まともな書籍読めばちゃんとそういう時にはこう実装するって載ってるよ。
アマゾンみたいなアイテム件数多いサイト作るとすぐ破綻してしまう事に成るし。
2009/07/29(水) 03:49:37
セッションスコープは設計ミスだな、struts2ならアクションのプロパティでJSP参照が王道
2009/07/29(水) 12:10:05
>>302
ありがとうございます。
何かオススメの本とかありますか?

というか色んなサイト見てもそういう実装しかないんですが、
何でそんなすぐおかしくなりそうな事をサンプルとして載せて
いるんですかねぇ。

ResultSet をころころころがして欲しい所だけ取るのがいいん
ですかね。そうするとラップしちゃってるとちょっとやりにくい
なぁ。いい方法ないかな。

>>303
言いたかったのは、アクションのスコープがセッションて事です。
そうすれば、ページ切り替え時には少なくとも検索のオーバーヘッド
は発生しませんよね。
2009/07/29(水) 14:20:11

> そうすれば、ページ切り替え時には少なくとも検索のオーバーヘッド
> は発生しませんよね。

ページングでは、そのページで必要な分の情報しか取得せんだろjk

2009/07/30(木) 03:48:50
欲しいところだけとるんじゃなくて
ROWNUMとかLIMITとかであらかじめ必要な件数しかとらないよ。

使い方を説明するようなサンプルコードでは普通ページングまで
書かないんじゃね?領域が違うから
2009/07/30(木) 03:57:48
>>305
それがそうでもないんですよ。
解説をしてるページではガッツリ取得しているものが結構ありました。
確かに楽なんだけど、こんな爆弾かかえた様なシステムでいいのか…と…。

>>306
そうですよね。SQL 側で調節した方がいいですよね。
でも limit が使えない環境もあった様な…。そのあたりもう少し勉強する事
にします。
2009/07/30(木) 06:16:10
1レコード200バイト(全角100文字分)のデータがあっても1万件で200KBにしか
ならないから、社内専用業務アプリとかでレコード件数が想定できるなら
爆弾でも無いんじゃないかな。

外部公開するシステムでそんな作りになってたら「趣味の延長でしかコード
書いたことないんだなあ」って思うけど
2009/07/30(木) 06:17:37
>>308
あ、2MBだね。それでもBMP画像1枚分くらいだから同時接続クライアントが
10数人とかいうレベルなら無問題
310デフォルトの名無しさん
垢版 |
2009/07/30(木) 07:28:07
つ セッションタイムアウト
2009/07/30(木) 10:08:31
>>307
ページ切り替え前提で、基本的なとこだけ
元データが数千万件と言う場合も有るので、取得最大件数を指定できるようにする
セッションに持つのは、取得最大件数分のプライマリキーまたはそれに該当するデータのみ
で、表示するページのデータのみ、セッションに持ったデータを元に取得
1ページあたりの件数も10〜100あたりで絞る
2009/07/30(木) 10:54:28
>>311
なるほど!
大変参考になりました、ありがとうございます!m(_ _)m
2009/07/30(木) 21:25:09
>>301
ものによる。
件数等を見ていろいろといじる。

というのはリクエストのたびのデータベースアクセスも負荷が大きくなりやすいから。
それに万単位でデータを取るということはまずないはず。

LIMITとかOffsetだけ使うようなシンプルなやつだと楽だけど、
実際のところ表示したデータの戦闘と終端のキーを持つことも多い。

セッションをサーブレットにおかずにEJB等にもっていって
そちらで管理してもらうというのもまぁやる。
メモリが圧迫すれば自動的に吐き出すから、何回もブラウザ起動しなおして
セッションタイムアウトまで圧迫するということはない。
2009/07/31(金) 00:49:20
セッションにオブジェクトを入れまくって長寿命のオブジェクトを増やすと、
Full GCの頻度が増える気がするんだが、その辺は大丈夫なのか。
2009/07/31(金) 01:10:34
使用するメモリ量と想定するユーザー数の把握が出来てるなら大丈夫。
検索結果はスナップショットで維持されるべきということなら通常は>>311の方法をとる。
連続性を意識したい場合は>>313のように。

手軽だけど顧客受けがよくないのがOFFSET、LIMITで単純に区切る方法。
次へ次へとページングしても前のページでデータが消されたりしていると
表示されないデータが出てきたりして問題が発生するからOFFSET系は業務系ではまず使わない。

完全にStatefulならEJBを併用しないとつらい。
2009/07/31(金) 12:54:16
>>313
>セッションをサーブレットにおかずにEJB等にもっていって
>そちらで管理してもらうというのもまぁやる。
>メモリが圧迫すれば自動的に吐き出すから、何回もブラウザ起動しなおして
>セッションタイムアウトまで圧迫するということはない。

分かってなくて申し訳ないんですが、この部分をもう少しお教え頂けない
でしょうか?

外部に置くというのはなんとなく分かったんですが、アプリケーション
サーバと別に置くという事は、HttpSessionBindingListener みたいな
ものでセッション切れを検知して、外部のサーバーなりに、こいつの
情報は消せ!みたいな事をする必要があるって事ですか?

もし何らかのコンポーネント化されている様でしたら名前を教えて
頂きたいのですが。

あと、「メモリが圧迫すれば自動的に吐き出す」ここの意味もちょっと
よく分かりませんでした。

教えてクンで申し訳ないですが、何卒よろしくお願いします。
2009/07/31(金) 14:58:25
> OFFSET系は業務系ではまず使わない。

案件の性質によるだろ
なんでもかんでも重厚に書けばいいってもんじゃない
2009/07/31(金) 18:06:05
うちの案件ではページングもさせてもらえん。
div入れ子で全件表示
2009/08/01(土) 06:22:24
>>315
>次へ次へとページングしても前のページでデータが消されたりしていると
>表示されないデータが出てきたりして問題が発生するからOFFSET系は業務系ではまず使わない。

むしろ消されてるデータが表示されることの方が問題なので
OFFSET LIMITを使うべき
2009/08/01(土) 07:26:22
>>314
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時からページングだし、
挙動が同じ方がわかりやすくね?
2009/08/01(土) 10:16:37
>>321
数百万件ではなく数十件でもページングがあれば発生する
業務系で今まではスクロールで実装されていたのを単純にオフセット使うと問題になる

ある特定時点でのデータを順番に見ていくというのは非常によくあること
2009/08/01(土) 18:47:04
だから無効なデータを表示したり、新規のデータを表示しないのは不味いという話。
データベースは最新の情報しか持たない。履歴は他にちゃんと仕組みを考えるべき。
いちいち作業用のデータベース作りまくるコボラー思考なんじゃないの?
2009/08/01(土) 22:40:42
>>320
>メモリが足りてればいいんじゃないかな

メモリを足したところで、Scavenge GCを生き延びてOld領域に追い出されたオブジェクトが減るわけではない。
そういったオブジェクトが広大なOld領域を少しずつ食いつぶし、
いずれ発生するFull GCの際には大きな足かせとなる。
メモリを足せばFull GCの回数は減るが、
いざFull GCが起きたときの処理は、メモリサイズに応じて重くなる。

まあ、スコープは短く、というのには激しく同意する。
2009/08/01(土) 23:57:50
>>323
毎回リクエストのたびにオフセット使うのはダメだよというだけの話でしょ?
上の話でもキーのみ取得とか現在表示しているページの先頭と最後のキーを保存するとか
そういう対処が普通は必要になるでしょ?というお話でしょ。

>>324
コンカレントGCである程度解決すると思う。
G1GCが安定すればそれでいいやという気も。
2009/08/02(日) 01:35:45
セッションで持つ必要性があるか OFFSET / LIMIT 使うかは
結局のところ何のためにページングしたいかによるんじゃないか?
やりたいことによっちゃページングなぞしないで全件表示が一番よい場合もあるだろうし
2009/08/02(日) 08:55:26
>>326
それもよくいわれるね。
スクロールにしてくれと。
2009/08/02(日) 16:35:48
何万件も有ると遅いって文句言いそうwww
329デフォルトの名無しさん
垢版 |
2009/08/03(月) 18:04:29
エラー表示をテキストエリアに出したいのですが、
<s:actionError>のタグを使うと、
テキストエリア内に<ul><li>ってタグが一緒に表示されるのですが、
これはどのようにすれば消すことができるのでしょうか?
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すればいい。俺ならこっちでやる。
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="???" />だとテキストボックス表示できないし。
2009/08/03(月) 23:50:00
struts2スレだから、struts2という前提だけどsタグ以外は使わないよ普通
2009/08/04(火) 14:22:15
>>331
なにをしたいのか意味がわからないんだけど。

同じ名前のパラメータをチェックボックスとテキストエリアで送りたい?
そんなことしたら、サーバが受け取るパラメータは

AA = { "1", "hoge" }

みたいになるぞ。
334デフォルトの名無しさん
垢版 |
2009/08/05(水) 19:22:27
StrutsとXILISHは語呂が似てるよな?おまえら、ソウ思うだろ?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況