ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

三重県四日市市、大丈夫か?-WindowsXP期限切れ、自治体「攻撃めったにない」

2013-10-08 19:09:36 | Weblog
自治体の人は、「大丈夫だ、問題ない」って言うのに決まっているけど、
こんなこと、おおっぴらにしたら、まさに

   「ハッカーさん、狙ってください」

と煽っているようなもので、逆に狙われると思うんですけど・・・
ふつう、隠さないか(^^;)


XP期限切れ、自治体「攻撃めったにない」
http://headlines.yahoo.co.jp/hl?a=20131006-00000223-yom-sci


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Submitボタンをクリックしても、画面を遷移させないことも出来る方法

2013-10-08 15:33:48 | JavaとWeb
あれ、これ書いていなかったか・・・(^^;)


AJAXで受け取ったデータを元に、画面遷移する
http://blog.goo.ne.jp/xmldtp/e/5dea7caf15b2f882ce3481311fb54825



AJAXを使わずSubmitで、画面遷移なしにサーバアクセスする-ファイルアップロード等で使う
http://blog.goo.ne.jp/xmldtp/e/be437400b05856141b2f49aa67e52fe2

は、画面遷移する/しないのはなしだけど・・・




■お題
submitで、値をチェックし、
  ・エラーのときは、画面遷移しない
  ・エラーじゃないとき、画面遷移するのは、どうしたらよいのか?




■方法
submitボタンで、onclickのところで、

onclick="return test()"

のように書き、そこで書いた関数(ここではtest()で)、

  遷移させたければtrue
  遷移させたくなければ(エラーのとき)false

とかく。




■サンプル
値が入ってなかったら、alert出して、遷移しない
入っていたらyahoo表示

<html>
<head>
<title>submitのテスト</title>
<script type="text/javascript">
function test()
{
	if (f1.arg1.value == "" )
	{
		alert("なにか入れてください");
		return false;
	}
	else
	{
		return true;
	}
}
</script>
</head>
<body>
<form name="f1" action="http://www.yahoo.co.jp" method="post">
<INPUT TYPE="text" name="arg1" />
<INPUT type=submit onclick="return test()" name="sub1"/>
</form>
</body>
</html>






■注意

onclickのところで、onclick="return test()"のようにreturnを入れないと、
ここで評価が行われないので、falseのときでも、submitのactionを実行してしまう
ので注意

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

ソフトウェア工学っぽく、属人性を排除して、MVCを作ってみる・・・Struts2の場合

2013-10-08 12:48:59 | Weblog
きのうの、


MVCにおけるコントローラーの土管化の問題とカオル姫方式の終焉について
http://blog.goo.ne.jp/xmldtp/e/b153ff45bc647a503d4f1996ead9ae26

で、最近、コントローラーが土管化している話を書いたけど、
逆に、土管化しないで、コントローラーで詰め替えると、
ソフトウェア工学っぽく、属人性を排除して、規則的に、プログラムを作れる。
Struts2でその例を示す。

■規則的に、ビュー、コントローラーをつくり、モデルを呼び出す。

・まず、HTMLで画面を作る
  →これは、デザインなので、ソフトウエア工学の範囲外かな・・・

・画面のフォームに対応して、Actionをつくる
  →ここで言っているActionは、Struts2のstruts.xmlで指定するような、
   アクションのこと。画面から呼び出されるコントロール

・そのフォーム内で、入力項目や変数項目となるところを、
  アクション側の属性として項目定義し、
  Limyを使って、アクセサー(setter,getter)をつくる

  フォームの名前&アクションの属性名は
     画面名フィールド名
  にする。たとえば、ログイン画面のパスワード入力項目の場合
   loginPassword
  にする。

・その画面の遷移先を、struts.xmlに書く
  →ゼロコンフィグレーションを使ってる場合、アノテーションで

・画面遷移先の項目も、そのアクションの中に属性として書き
  Limyを使って、アクセサー(setter,getter)をつくる

  フォームの名前&アクションの属性名は
     画面名フィールド名
  にする。たとえば、メニュー画面のユーサー名出力項目の場合
   menuUsername
  にする。

・ちなみに、セッションに入出力する属性は、画面名が付かない
  username,passwordなど




■こうすると

・アクションで、画面の値を受け取り、次画面の値をセットするようになる
  →Actionでは、セッションもDBデータも画面データもすべて受け取り、
   Javaで書けるので、自由度は増す。

・データ修正は、すべてコントローラーであるアクションでとまる

・セッションと画面項目名が異なるので(セッションには画面名がない)
 セッションのデータを画面で参照、書き換えすることがない




これが、どんなふうに便利なのかは、またこんど・・



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする