フレームワークStrutsをいじくり倒す人の為のスレ
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
03/04/28 08:14ID:Ub0n1fGRhttp://www.ingrid.org/jajakarta/struts/
http://jakarta.apache.org/struts/
0222218
03/11/24 15:43ID:???たまたま適当に買ってみた本がその「カンタンStruts1.1」でした。ラキー。
ただ、
「StrutsはServletやJSPを使いこなせることが前提。」
に私はちょと心許ない。まずはJSP, Servlet本探しからですか。
Strutsつかいへの道は遠いですな。
0223nobodyさん
03/12/03 01:12ID:eqfPDL25知ってる人います?
0224+++
03/12/03 05:57ID:???こういうのでいいのかどうだかよく判らんけど、
<%@ page import="org.apache.struts.action.ActionErrors" %>
<%@ page import="org.apache.struts.Globals" %>
<%
ActionErrors errors = (ActionErrors)request.getAttribute(Globals.ERROR_KEY);
if( errors!=null ){
int e_size = errors.size();
out.println("<p>" + Integer.toString(e_size) + "</p>");
}
%>
<html:messages>タグでどうにかできないかな、という感じもする。
0225+++
03/12/03 06:07ID:???行われてないから、初心者にはツライだろうと思った。疑問の残る構成。
改訂版はどうなんだろうね。それも見て判断したほうがいいと思う。
0226223
03/12/03 22:59ID:eqfPDL25おお、まさにソレです。ありがとうございます。
重要な情報はGlobals.定数キーで引っ張れると。メモメモ。
APIリファレンスを全部読んでいればわかることだったのかなぁ。
strutsのソースまで読んでいる人ですか?
0227223
03/12/03 23:05ID:eqfPDL25<action path="/test_action" name="test_FB" type="(略)">
<forward name="success" path="/result.jsp" />
</action>
</action-mappings>
というので、path指定は$WEBAPPからのフルパスなのって、そういう仕様なんでしょうか。
相対パス指定しようとすると「/で書け」とJSPコンパイラに怒られる。
0228nobodyさん
03/12/04 00:11ID:???path指定ってのはfowardタグの属性のpathのこと?
struts-configのアクションマッピング自体がどこからでも
呼び出せるものだからそうなるんじゃないの?
0231nobodyさん
03/12/11 19:54ID:JRpQVx5xことってできるの?普通にやったらStrutsタグそのままが出力されてしまったよ
それとも俺無駄なことしようとしてるかしらん?
0232nobodyさん
03/12/11 20:16ID:???できません。無駄です。
この>>25-29 あたりと少し似た話ですね。
「Strutsタグ」と書いてますが、これはJSPのカスタムタグの一種にすぎません。
JSP自体の仕様を理解するのが吉。
↓とその続きなど読めばよろしいかと。
http://www.techscore.com/tech/Java/JSP/3.html
0233nobodyさん
03/12/12 11:06ID:???テンプレートなんかに全部押し込みたいんだが。
0235nobodyさん
03/12/21 18:11ID:???このレスを見た人はコピペでもいいので
10分以内に3つのスレへ貼り付けてください。
そうすれば14日後好きな人から告白されるわ宝くじは当たるわ
出世しまくるわ体の悪い所全部治るわでえらい事です
0236nobodyさん
03/12/24 23:17ID:???本でもOKです。
0237236
03/12/26 23:18ID:???TomcatのAdministration ToolがStrutsを使用していました。
MemoryRealm使っていて丁度いいサンプル。
残念ながらTomcat4.1.29はStruts1.0でしたが。。
0238235
03/12/27 18:18ID:???偽235
0239nobodyさん
04/01/04 05:06ID:mf+7Ni9JHTTP Status 500 -
org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
java.io.FileNotFoundException: /usr/local/jakarta-tomcat-4.1.27-LE-jdk14/work/Standalone/localhost/struts-example/index_jsp.java (Permission denied)
と出ます。
index.jspのパスは/home/arata/tomcat/webapps/struts-example/index.jspなので上と違う気がするのですが…
教えて頂けたら幸いです。
0240239
04/01/04 05:12ID:mf+7Ni9Jwebappsディレクトリ配下にあるwarファイルを
CATALINA_HOME\webapps配下に設置しました。
特に他にやることはないはずなのですが…
0241nobodyさん
04/01/04 05:16ID:???エラーメッセージに「Permission denied」とあるとおり。
パーミッションの問題。
TomcatのworkディレクトリにTomcat実行ユーザの書き込み権限がないため。
なぜindex.jspがあるディレクトリと違うディレクトリでエラーになるのかは
Struts以前にJSPの勉強が必要。ヒントは、
ファイル名が「index_jsp.java」になっていること。
0242239
04/01/04 06:16ID:mf+7Ni9Jパーミッション変えたら出来ました!ありがとうございます。
最近Linuxをいじり始めたばかりで…ご迷惑かけました。
ヒントの部分なんですが、「index_jsp.java」というのは
javaファイルに変換されて、work上でコンパイルされているということで、
このとき書き込みできないとコンパイルしようがないってことですかね?
0243nobodyさん
04/01/04 22:45ID:???鞍替えしますた。
0244nobodyさん
04/01/07 02:45ID:???おっそろしく楽だな。
0245nobodyさん
04/01/10 15:18ID:qk2y/XVpA(条件画面)→B(詳細画面)に画面遷移するとき、
Bの画面に必要な情報を取得するロジックやらSQLは、
AとBのアクションクラスのどっちに書けばいいの?
今やってるプロジェクトでは、
1)A画面のリンクを押すと【A.doにForward】
2)Aのアクションクラス
1) SQLのキー情報をbeanにセット
2) 【B.do にForward】
3)Bのアクションクラス
1) beanからキー情報取得
2) SQL発行〜BのFormBeanにセット
3) getInputメソッドでB.jspを取得してそこにforward
なんだけど、これって1動作に「.do」を2回通ってるから、
アクションの連鎖というやつなのかな?
アクションの連鎖は「struts in action」という最近出た本によると、推奨されてない
ようだけど…どうなんだろ。
皆さんのフレームワークではどうやってますか?
0246nobodyさん
04/01/10 22:05ID:???0247nobodyさん
04/01/11 11:39ID:urpDrM8h>A画面からB.doへ跳ばさないのはなぜだ?
やっぱり変なんですかね?
うちの社内のフレームワークはこれが標準になってるみたいです。
ちなみにかなりの大規模プロジェクトです。
メリットとしては、
・1画面(jsp)につき1アクションクラス、という解り易い構図ができあがる。
例えばB.jspの画面作成ロジックはB_Action.javaにある、みたいな。
※通常のやり方だと、B.jspの画面作成ロジックをA_Action.java
に書くのでわかりにくい。
逆にデメリットとしては、
・遷移先のjsp名を次の画面のgetInputで取得している、
つまりstruts-configの <forward> ではなくて <Action input=> で
取得しているので、strutsの標準的な使い方ではなくなっている(?)
ことかな?
0248nobodyさん
04/01/11 11:53ID:urpDrM8h1画面につき1アクションクラス、というのは具体的にはこうです。
・<global-forwards>はこんな感じ
<forward name="A" path="/A.do">
<forward name="B" path="/B.do">
・<action-mappings>はこんな感じ
<action path="/A" type="A_Action" input="/A.jsp" name="A"/>
<action path="/B" type="B_Action" input="/B.jsp" name="B"/>
A画面のボタンを押したら、
(1) A.do にサブミット
(2) A_Action実行 → findForward("B")
(3) B.do にフォワード
(4) B_Action実行 → getInputで "B.jsp" をゲット
(5) B.jsp 表示
てな動きです。
こういう使い方は邪道なのでしょうか?
0249nobodyさん
04/01/11 12:21ID:???0250nobodyさん
04/01/11 15:01ID:???1画面につき1アクションクラス、というのは
「jspにたどり着くためには*.doを経由させる」ということで
kuso.do→kuso.jsp
unko.do→unko.jsp の時の遷移は
kuso.doにリクエスト→kuso.jsp表示→
kuso.jspからunko.doにリクエスト→unko.jsp表示 なのであって
「*.jspの送信先がそのjspに対応するアクションクラス」というのは
つまりあれだ、
氏ね
0251nobodyさん
04/01/11 15:05ID:???つーか確かに最初はよくワカランが、
2、3日〜長くても一週間もあればぼんやりと全体像は見えてくるだろ?
少なくとも画面遷移の仕方とかさ。
カスタムタグの種類や使い方がおぼつかない、というのならまだしも。
0252nobodyさん
04/01/11 18:16ID:???>>244でも使えば?
GUIで設計できる上に遷移図の印刷も出来るから
自分らがどんだけクソな作業してるか実感できると思うよ。
0253248
04/01/11 22:13ID:p9BR0Sf1でも、この設計でだいぶ開発が進んでいるので、
再設計しての後戻りはできそうにないんです。
動きに問題がないのであれば、このまま行くしかない…(;_;)
0255nobodyさん
04/01/12 15:03ID:qVNFm6x60256nobodyさん
04/01/15 00:31ID:viAU4C2Jイクリプスで、すべて再ビルドを選択すると
ApplicationResourcesが文字化けしてしまいます。
原因はソースフォルダ直下にApplicationResourcesを置いているからなのですが、
良い管理方法が見つかりません。
指定したファイルを削除しないで「すべて再ビルド」、又は
指定したファイルにだけnative2asciiを当ててくれる
みたいな方法ってありますか?
EasyStrutsやらのプラグインを入れれば解決したりするんでしょうか。
そもそもソースフォルダにApplicationResourcesを置いているのが間違いでしょうか・・・
良い管理方法をご教示ください。
Tomcat,winXP,eclipse2.1,struts1.1
0258nobodyさん
04/01/15 13:02ID:???0259nobodyさん
04/01/17 03:37ID:???しかし、一体何をやっているか、わけがわからんかった。
現在、Eclipse+Struts Studio。もう効率はいいし
Struts StudioのおかげでStrutsの全体像もつかめて
何をやっているか意味がわかるようになった。
>>245なんかを見てると、去年の自分を見ているようで歯がゆい。
0260nobodyさん
04/01/17 12:02ID:???ひょっとしてそれ使わんとできへんこと多い?
0261nobodyさん
04/01/17 12:44ID:???0262nobodyさん
04/01/18 20:53ID:???別に全く使わなくても問題なし。
0263nobodyさん
04/01/19 20:13ID:???なんだ。Strutsを「いじくり倒す」といいながらそれだけの技術力もなく、
現行のStrutsに「粘着する人」の為のスレでしたか。
いじくり倒してんなら分かるだろ?
0265260
04/01/19 21:54ID:???0268singles
04/01/20 14:42ID:vmpc82Q3「かんたんStruts 」にはやられた。
本当に改訂版?
CD付きなのに、全ソースじゃないし。
実行時エラーは出るし。バグだらけだよ。
やすがにコンパイルエラーはなかったけど。
損した!!
0269nobodyさん
04/01/22 20:16ID:???c:forEach でコレクションをくるくるってのがStrutsでできません。
自動生成されたjavaのソースを見ると、itemsに設定したものが
コレクションとしてでなく文字列として渡されてしまいます。
0270nobodyさん
04/01/22 20:23ID:???あともしStrutsのタグライブラリを併用しようとしてるなら出力時はelを使わねぇと出ねぇぞ。
<bean-el:write 〜/> など。
しかもサーブレット2.3からじゃないと動かない。
0271nobodyさん
04/01/22 21:55ID:???それともStrutsの次期バージョンには興味がないのか。
0272nobodyさん
04/01/22 22:52ID:???JSTLがうまく使えないっつうのなら、スレ違いだろ。
0273nobodyさん
04/01/23 09:41ID:???0274nobodyさん
04/01/23 20:45ID:???0275nobodyさん
04/01/24 23:56ID:NRU8Gq4U変な掲示板
0276nobodyさん
04/01/25 00:18ID:56Ciihh9なんか糞
0277nobodyさん
04/01/27 09:45ID:DNV4wH9rstruts初心者です。
BBS作ってるんですけど、どうやら自動で
ResponseUtils.filterを通されてるらしくて
改行を<br>に置き換えたりとかしたいんですけど
すべて
& → &
みたいな感じで変換されちゃってそのまま表示
されてしまいます。
なんとかこいつを黙らす方法ないでしょうか?
0278nobodyさん
04/01/27 12:40ID:???<bean:write ... filter='false'/> でどうよ?
http://www.janit.com/TechnoInf/Java/Struts1.1b3/userGuide/struts-bean.html
0279nobodyさん
04/01/27 22:45ID:XpbhJdiOすみません。
<bean:write name="onemsg" property="msg" filter='false'/>
でやってみたんですけど、駄目でした。
<pre><bean:write name="onedata" property="msg" filter='false'/></pre>
はできはするけど力技っぽくてプログラム的に美しくないとか思うのは思い上がりですかね?
0280nobodyさん
04/01/27 23:14ID:???ちょっと待て。
<pre>で囲ったって、&amp; をそのまま表示はできないぞ。
まさかと思って IE6 と Mozilla 1.6 で表示してみたが、
やっぱり &amp; は &として表示される。
とりあえずここ読んどけ。あと、実体参照という言葉を覚えろ。
http://mind.f.fiw-web.net/program/perl/tips0506.html
http://east.portland.ne.jp/~sigekazu/html/entities.htm
0281nobodyさん
04/01/27 23:14ID:XpbhJdiOすみませんでしたm(_ _)m
大ボケかましとりました。
<bean:write ... filter='false'/>
でいけました。
どうもありがとうございました。
0282nobodyさん
04/01/28 22:12ID:15MYH/xw言われ始めているけどどうなんだろう。
下の記事、議論を巻き起こしています。英語だよ。
ttp://today.java.net/pub/a/today/2003/12/11/mvc.html
0283nobodyさん
04/01/29 09:20ID:???0284nobodyさん
04/02/04 19:53ID:???ってどっかにないですかに
0285nobodyさん
04/02/04 19:54ID:LrI+0eVy0286nobodyさん
04/02/04 19:55ID:???0287nobodyさん
04/02/05 05:33ID:g7RFhJQThttp://www.ingrid.org/jajakarta/struts/struts1.0/ja/target/documentation/struts-logic.html#iterate
0288nobodyさん
04/02/05 14:24ID:???それとも使わないほうがいい?
いろいろな面から意見を聞きたいです。
0289nobodyさん
04/02/05 16:42ID:???実はスクリプトレットで書いちゃった方が楽だけど、無理してる。
0290nobodyさん
04/02/22 05:30ID:???もうサーバー移転して半年にもなるので、こっちにしようよ。
ttp://www.jajakarta.org/struts/struts1.0/ja/target/documentation/struts-logic.html
ただ、>>284が求めているサンプルはそこにはない模様。
<logic:iterate id="hage" name="hoge">
<logic:iterate id="mage" name="hage" property="mages">
<bean:write name="mage" property="moge" />
</logic:iterate>
</logic:iterate>
みたいなことをしたい?
0291nobodyさん
04/03/01 04:14ID:Durte6J60292nobodyさん
04/03/01 16:14ID:???0293nobodyさん
04/03/01 19:47ID:Durte6J6じゃあ、せっせとソースを直すか。
DataSource ds = getDataSource(request);
↓
DataSource ds = (DataSource)(new InitialContext()).lookup("名前");
しかし deploy 後に server.xml いじるの面倒だ・・・。
0294nobodyさん
04/03/01 21:31ID:???0295nobodyさん
04/03/01 21:53ID:GYV1jZxP0296291
04/03/02 01:17ID:???[HttpProcessor[8888][4]] FATAL - [javax.naming.NamingException: Cannot create resource instance
at org.apache.naming.factory.ResourceFactory.getObjectInstance(ResourceFactory.java:167)
って言われるよ・・・
0297nobodyさん
04/03/02 01:34ID:???0298nobodyさん
04/03/02 03:18ID:???0299291
04/03/02 03:34ID:AJ5+7psc0300291
04/03/02 03:36ID:AJ5+7psc0301nobodyさん
04/03/02 08:46ID:???そうか?
0302nobodyさん
04/03/02 08:54ID:nO+c0QMf0303291
04/03/02 10:33ID:???>>302 HIBERNATEが最強に分かりません。ORマッピングって何?
http://wiki.bmedianode.com/Hibernate/
http://www.hibernate.org/
0304nobodyさん
04/03/02 11:14ID:???Java⇔RDBのMapping-Frameworkを語るスレ
http://pc2.2ch.net/test/read.cgi/tech/1049030272/
0306291
04/03/02 11:36ID:AJ5+7psc0309291
04/03/02 17:40ID:AJ5+7pscHIBERNATEって、SQL ラッパーみたいに捕らえていいの?
詳しい人の説明をお願いします。
0310nobodyさん
04/03/02 17:50ID:AJ5+7psc0312nobodyさん
04/03/02 19:32ID:???DBアクセスレイヤーをもうけることで、役割が明確になり、
DB依存性を排除できる。理想は。
Hibernate だったらトランザクションやキャッシュ機構、
XML から Bean 生成、DB スキーマから Bean 生成、
スキーマ& Bean からXML 生成などがある。
0313nobodyさん
04/03/02 20:37ID:???さらに細かいことやりたいなら、HQLっつーSQLライクな記述でゴリゴリできる。
柔軟でいいよね。
たいがいのO/Rマッパーは、スキーマからJavaクラス作るときに、XML書いたり
XDoclet用のタグ書いたりとめんどくさいのに、jFaceDbc使えば、
既存のスキーマをリバースして、Javaのソースまで作ってくれるのが、(・∀・)イイ!
0314291
04/03/02 21:09ID:???しかし、食わず嫌いは良くないので、近い将来試してみる(予定)
0316291
04/03/02 23:03ID:AJ5+7pscDbUtils ですね。調べてみます。
>しかし数千バイトの SQL って本当に必要か疑問。
正規化されたテーブルから、レポートを一発で出そうとするとクエリーが複雑になりますね。
そして、複雑なストアドを書いたりすると、もっと多くなる予感。
0317nobodyさん
04/03/02 23:16ID:???0318291
04/03/02 23:24ID:AJ5+7psc0319Gon_Yuri
04/03/03 14:58ID:???Struts環境下でSessionをオブジェクトに格納した場合、
TokenIDなるStruts固有のIDなるものがattachされるのですか?
(もし存在するのであれば)またそれってなんのためにあるんでしょうか?
すみませんがご教示お願いいただけないでしょうか、みなさまがた。。
0320nobodyさん
04/03/03 15:03ID:mGkaH2Ir「トークン」は、二重押し防止機能。
0321Gon
04/03/04 15:35ID:???ですが、セッションに格納するのに二度押し防止というのは
状況が良く分からないのですが、たとえばどのようなケースでの話しなのですか?
■ このスレッドは過去ログ倉庫に格納されています