formボタン、aリンク押下後の処理


主に、ボタン押下後の処理箇所、ページ遷移方法を記載する。
処理の詳細は一応記載しているが、別途まとめる。

ポイント
リンク、actionの設定方法
ブラウザからのデータ取得方法
データ加工方法
ブラウザにデータを渡す時のデータ設定方法
ブラウザへの遷移方法

[PHP]
mvcを使用しないPHPの場合
(方法)
phpでformタグのactionにて指定
javascriptでボタンクリック時にsubmit
actionを指定しない場合、自分自身にpostする。

phpにて、処理。
処理においては、controllerを作成して処理、データ処理をmodelにて行うのが望ましい。
処理後、以下でページをコントロール
header('Location: ' . SITE_URL); SITE_URLはdefineで指定。

mvc使用 cakephpの場合
(方法)
1.aリンクの場合
Htmlヘルパーにて、リンクする。
controllerのメソッド、引数を指定。
2.formの場合
Formヘルパーにて、リンクする。
actionは、モデル名/コントローラのメソッド名、となる。

controllerよりmodelにて処理
(ORマッパー?で対応)

ページ遷移は、XXXX/controllerを使用したmodel名/指定したcontrollerのメソッド名/引数
ex:: モデル名:Articles コントローラ名:ArtilesController

[Java]
JSP/Servlet(フレームワークは使用しない)
ちなみにPHPの場合は、jspservletもない、画面にphpを記載できるので、postすればPost、aリンクでの引数ならgetでGetで取得できる。
(リンク、actionの設定方法)
web.xmlにてservletプログラム箇所に接続
aリンクの場合、jspの場合とservletの場合があるが、
formのactionにてどっちでもいいらしい、aリンクも同様の理解でいいらしい
servlet接続において、下記どちらでもいいらしい
/java_mysql/Edit
Edit
引数がある場合は、
Edit?&mode=delete
jspの場合
そのまま同じ階層のjsp名を記載
index2.jsp
(ブラウザからのデータ取得方法)
1. formタグのactionにて指定(postかget)、もしくはaリンクで?の後ろに引数を指定(get) formデータを取得するため、HttpServletを継承
HttpServletRequest request, HttpServletResponse responseはブラウザとのデータ送受信用クラスになる。
request.getParameter(’xx’)で取得
(データ加工方法)
2. データベース等に接続して処理(今後別途調査)
xxxBeans.javaを作成
(ブラウザにデータを渡す時のデータ設定方法)
最終的にjspに送る場合、(String)request.getAttribute('xx')で取得。
配列で送付する場合、調査中。
Stringは型の例
(ブラウザへの遷移方法)
3. ページ遷移
request.getRequestDispatcher("/xxx.jsp").forward(request, response); 該当jspに遷移する。

jspjsp
相対位置。
methodにてpostならばdoPostメソッドに接続
methodがgetならばdoGetメソッドに接続?


・Spring
web.xmlは不要
@ControllerにてControllerを認識
メソッドにて、
@GetMapping("/quiz")
@PostMapping("/create")
xxx/quizとブラウザでアクセス
該当Controllerのメソッドの処理がされる。
メソッドの引数に、Model modelを使用すると、ブラウザで使用可能になる。 phpの場合、セットされたデータを読み込み、配列やオブジェクト形式でセットし、直接それを使用しブラウザで使用できる。