strutsにてシステムを作成していますが、
strutsが初めてなため、悩んでいます。
formクラスとActioクラスとjspとDBを使い、DBに登録はできました。
今度はDBに登録したものを変更したいのですが、どうやればいいのか分かりません。ネットで探してもいい情報はありませんでした。
会員が登録→ログイン→その後、変更処理をしたいのですが、
(1)「a」の情報を持っている会員がいます。この会員がログインしたらこいつのもってる情報は「a」だとどうやったらわかるのか?
(2)「a」を「b」に変更する時、テキストボックス(<html:text)にDBから引っ張って来た「a」を表示させるのか?
更新のサンプルをください。
No.5ベストアンサー
- 回答日時:
一般的な作りとしては、ログイン情報などはセッションを利用して保持します。
ログインユーザクラスのようなものを作り、
ログイン時に会員IDをセットして、ログインユーザをセッションに保持する。
(例 入力された ID/パスワード でDBから会員情報取得し、
LoginUser loginUser = new LoginUser()
loginUser.serUserId(DBの会員ID)
request.getSession().setAttribute("loginUser", loginUser);
)
必要なとき(今回であればSELECT時)に、セッションからユーザ情報を取り出して、現在誰がログインしているかを判断する。
という方法がよいのではないでしょうか。
返事遅くなりすみません。
現在、URLリライティングでsessionが保持されている事が分かりました。
しかし、URLリライティングでのsessionの取得方法が分からず困っています。
教えて頂けませんか?
No.4
- 回答日時:
<html:text にも、name 属性と property 属性がありますので、
bean:write 同様にJSPで指定すれば表示可能だと思いますよ。
ただ、リストを更新する際は、indexed 属性も true にする必要があります。
本当にありがとうございます。
テキストエリアにDBから取得した値が出力され、無事にDBの更新ができました。
あとは、ログインした会員がどの会員なのかを判定して、テーブルからどの行の値を持ってくるのかを決めるという事ですよね。
できればそちらも教えて頂けないでしょうか?
No.3
- 回答日時:
Struts で開発する上では、
JSPで表示したりする値は ActionForm に格納します。
ですので、自分で request.setAttribute したりすることはあまりありません。
例のように、<html:text property="isbn" size="20" ~
であれば、ActionForm の isbn フィールドに値をセットすることでテキストフィールドの value に自動でセットしてくれます。
list ということは複数の表示を行うのでしょうか?
その場合は、html:text の indexed 属性を true にすることで、
isbn[添字]と、配列のように扱うことができます。
タグの使い方は以下などを参考にしてみてください。
http://tag.main.jp/
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.ph …
サンプルを動かそうとしましたが、form生成時にエラーがでたり
struts1.3ではstruts-confのdataSourceができないため
断念しました。
formではsetとgetを行っています。
テキストエリア以外ならばDBから値をJSPに表示できます。
例えば、検索したい時はselect文で検索した複数の値をもって来て
値をsetして、request.setAttributeする。
jsp側でlogic:iterateで
<bean:write name="" property="" />
すれば出力できますよね?
同様に更新時もselect文で検索した複数の値をもって来て
値をsetして、request.setAttributeする。
jsp側でどうやれば
テキストエリアに値を出力させるかがわからないのです。
No.2
- 回答日時:
サンプルありがとうございます。
このサンプルでは
<logic:equal name="update.flag" value="true">
<html:text property="isbn" size="20" maxlength="20"
style="background:#EEeeEE" readonly="true" />
</logic:equal>
<logic:notEqual name="update.flag" value="true">
<html:text property="isbn" size="20" maxlength="20" />
</logic:notEqual>
でテキストエリアにDBから取得した値を入れていますが
この方法以外でDBから取得した値をテキストエリアに出力するしかないのでしょうか?
自分の場合
Actionクラス
(1)SQL文をしてwhileでDBの値取得
(2)値をlistに入れてrequest.setAttribute
jSP
テキストエリアではない場合は
logic:iterateで
<bean:write name="" property="" />
で出力されますが
テキストエリアの場合はどのようにして
出力させれば良いでしょうか?
No.1
- 回答日時:
会員情報に「会員ID」などの主キーがあれば、
まず変更画面アクセス時に会員IDでSELECTし、会員情報を取得します。
会員の情報(名前など)を、ActionForm クラスのテキストボックス(html:text の property属性)に該当するフィールドにセットする。
そしてJSPを表示すると、そのテキストボックスに value がセットされた状態で表示されます。
どの会員を更新するかどうかは、<html:hidden> タグなどで、会員IDを html に埋め込んでおくことで判断します。
更新ボタンを押下した際は、text の value と、 hidden の value がサブミットされてきますので、該当会員IDの情報を再度取得して text の value をセットし、UPDATE 文を投げます。
このような説明でわかりますでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- 楽天市場 楽天トラベルのクレジットカード情報 1 2023/06/20 23:19
- クレジットカード 楽天カードの住所変更、勤務先変更忘れについて 突然楽天カードの利用可能額が10万円ほど減額されていて 5 2023/08/01 00:25
- iPhone(アイフォーン) スターバックスカードについて質問です。 カード会員で、そのカードに登録済みのメールアドレスがありまし 3 2023/02/25 22:31
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Facebook FACEBOOKのアカウント乗っ取りについて 1 2022/05/06 06:36
- 消費者問題・詐欺 詐欺サイトに引っかかってしまいました…! 先程下記のURLのサイトで会員登録をしてしまい、 なんか変 3 2022/09/17 16:58
- 消費者問題・詐欺 これは詐欺でしょうか 賃貸の管理会社が変更になり、家賃の支払い先が変更になったのですが二重引き落とし 3 2022/10/28 23:29
- ライフスタイル・ヘルスケア adidas runningというスマホアプリにログインできない?? 2 2023/03/17 21:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォームで同じ複数のnameで違...
-
Servletへフォームから配列を送...
-
フォーム上で押されたボタンに...
-
リクエストに応じたselectedの...
-
「<c:forEach タグが終了し...
-
int型の内容をbyteの配列にコピー
-
javaでDBから取得したデータのJ...
-
テキストボックスで入力したデ...
-
Struts、Iterateタグの使い方
-
ラジオボタンの選択肢をサーブ...
-
formでテキストとファイルタイ...
-
struts iterateタグ内のデータ...
-
strutsを使用したjspでjavascri...
-
Strutsでの入力データチェック...
-
Java struts プルダウン
-
checkboxのvalue値を動的にしたい
-
Struts2のifタグについて
-
Strutsで、どのRadioボタンが選...
-
三菱GOTの画面切り替えについて
-
ActiveWorkbook.Pathの一つ下の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォーム上で押されたボタンに...
-
リクエストに応じたselectedの...
-
フォームで同じ複数のnameで違...
-
int型の内容をbyteの配列にコピー
-
javaでDBから取得したデータのJ...
-
「<c:forEach タグが終了し...
-
strutsを使用したjspでjavascri...
-
EL式 true falseを表示
-
JSPでのリストボックス表示
-
StrutsでPOSTのデータ(リクエ...
-
formでテキストとファイルタイ...
-
jspファイルで注文フォームの合...
-
jspでjavascript関数へ引数を渡...
-
ラジオボタンの選択肢をサーブ...
-
struts-config.xmlの設定
-
動的に作成したラジオボタンの...
-
JSP+Servletで終了ボタン
-
Servletへフォームから配列を送...
-
Strutsでの入力データチェック...
-
JSPとサーブレット間での画面遷...
おすすめ情報