タグ

2012年7月26日のブックマーク (11件)

  • SAStrutsで同一メソッドにてリダイレクトとフォワードを使い分ける - yummy-yummy

    SAStrutsにて同一メソッドの処理結果でリダイレクトとフォワードを使い分けたい場合がある時の記述。 通常のリダイレクト @Execute(validator = false, redirect = true) public String edit() { return "edit.html"; } クエリストリングにパラメータとして付与 以下の逆で、@Execute内のredirectをtrueにし、クエリストリングのredirectをfalseに渡すパターンはNGみたい。 @Execute(input = "edit.html", redirect = false) public String update() { try { customerService.update(entity); } catch (SOptimisticLockException e) { setMessa

    SAStrutsで同一メソッドにてリダイレクトとフォワードを使い分ける - yummy-yummy
  • nextの反対はprevかbackか?

    英語に長けている人なら何も悩むようなことではないのだろうが…。 先日、制作したあるWebサイトの所有者から、 「検索結果ページの一番下の『prev/next』の『prev』は、文法的には『back』ではないか?」 というクレームが。 単なる修正依頼であれば特に考えずに「back」に変えていたかもしれないが、「文法的に間違い」みたいに言われたものだから、プログラミングを始めてかれこれ15年の人間に対してそれは言い過ぎじゃないかと少々カチンと来つつも、他方では「文法的には当はどうなんだろう?」と思いながら、調べてみた。 その結果、次のように理解した。 「prev(previous)=前へ」と「next=次へ」のペアは、これで正解。 そして、「back=戻る」の反対語は「go=進む」である。 別階層間の縦移動に「back」と「go」を使い、 同階層内の横移動に「prev」と「next」を使う、

    bigbro
    bigbro 2012/07/26
  • よりスマートな画面遷移? - 出羽ブログ

    先日、社内のRailsな人にSAStrutsのことを軽く説明する機会がありました。 以前のエントリーに書いた『画面に表示するデータを準備する』メソッドの 名前は遷移先のjspファイル名にあわせる、という非公式の私のお作法を説明した後に、 以下のようなコードを見てもらったのですが、どうも気に入らないと。 @Execute(validator = false) public String hoge() { return "hoge.jsp"; } 理由は次のとおり。 遷移先のJSPファイル名とメソッド名をマッピングさせるお作法は、メソッド名と戻り値に同じ文字列が出てくるのでDRYっぽくない せっかくJavaを使っているのに、戻り値がタイプセーフじゃないのはダサい うーん、なるほど。一理ある。 ということで、以下のような感じで記述できる インターセプター(ForwardByMethodNameI

    よりスマートな画面遷移? - 出羽ブログ
  • cache:RjO2sUJdwsIJ:t-tabata.blogspot.com/2009/07/sastrutsurl.html - Google 検索

    cache:RjO2sUJdwsIJ:t-tabata.blogspot.com/2009/07/sastrutsurl.html に一致する情報は見つかりませんでした。 検索のヒント: キーワードに誤字・脱字がないか確認します。 別のキーワードを試してみます。 もっと一般的なキーワードに変えてみます。

  • SAStruts関連 - 技術情報Wiki

    Tips† SAStrutsで任意の場所でロールバックしたいとき http://ml.seasar.org/archives/seasar-user/2008-October/016152.html @Resource public UserTransaction userTransaction; ... userTransaction.setRollbackOnly(); テーブルの一部の列を入力欄にして、各行につけたボタンでsubmitしたいとき JSP側。html:text のindexedをfalseにするのがポイント <c:forEach var="m" items="${mapItems}" begin="0" end="${dispMax - 1}" step="1"> <s:form target="_blank" > <tr> <td class="data01">${f

  • DocumentFragmentの考察 - Personnel

    DOMユーザーの方は、このようなことが出来たら良いと思ったことはありませんか? NodeListのクローンを作成する NodeListをそのままappendChildのパラメータにする もちろんこのようなことは出来ません。NodeListのitem一つ一つのクローンを作成し、一つ一つをappendChildしなければならないのです。しかし、DocumentFragmentを利用することによって、このような感覚の操作をすることが可能になります。 Foot note この記事のURI参照 http://members.jcom.home.ne.jp/jintrick/Personal/documentFragment.html#seeds ここに、文書A、文書B、文書C があったとします。 文書A <rootA> <item /> <item /> <item /> <

  • iPhone Webアプリにおける13のJavaScript高速化アレコレ:マピオンラボ(Javascript)

    こんちは、中村です。 先日マピオンラボよりリリースしたiPad用地図「マピオンタッチ デラックス」のコアとなるフリースクロール地図ライブラリの開発を担当させて頂きました。せっかくなのでターゲットブラウザをMobileSafariに設定し、比較的スペックがプアなiPhone3Gや3GSでも十分な速度で動作するようJavaScript部分の高速化をアレコレ調べてみたのでまとめてみます。一番低スペックなiPhone3Gで実際にどの程度早くなるかをタイマーで計測してみましたってのがエントリーのミソです。 JavaScriptパフォーマンスチェック - Googleドキュメント 1. new Object より {}(Objectリテラル) オブジェクトを1万個生成するならばリテラルで記述することで約26ms高速化! loop=10000; for(var i=0;i<loop;i++){}; /

  • blog.katsuma.tv

    JavaScriptでFirefoxがconst(定数宣言)をサポートしていることをフと思い出しました。で、定数宣言って速度向上とかにつながるのかな?思ってついカッとなってベンチマークとるコードをかいてみました。こんな感じ。 <html> <head><title>const test</title></head> <body> <script> window.load = monitor(); function monitor(){ var A = "TestA"; const B = "TestB"; var Klass = { C : "TestC" }; // 1st test var start = new Date(); for(var i=0; i<10000000; i++){ var b = A; } var end = new Date(); console.log("

  • IT戦記 - 複雑で重くなった JavaScript を超高速化する方法3

    8 ヶ月前に setInterval 書き換えのネタで作ったやつ id:amachang:20060104:1136344836 id:amachang:20060114:1137243389 ふと ちょっと設計変えたらすごく速くなる気がして、作り替えてみた。 でも、作ってみたら clearInterval がちょっとだけ速くなったけど、正直そこまで変わらなかった。 でも、設計はきれいになったと思うので公開します。 ダウンロード http://sample.ecmascript.jp/setInterval/setInterval03.js 以前のもファイル化した 最初の失敗作(utf-8だから適当にエンコードして使ってください) 次に作ったやつ、実績はこっちのがある(utf-8だから適当にエンコードして使ってください) 使いかた すべてのスクリプトより前に読み込む <script src

    IT戦記 - 複雑で重くなった JavaScript を超高速化する方法3
  • IT戦記 - 複雑で重くなった JavaScript を超超ちょ???高速化する方法。

    前回(id:amachang:20060104)の改良版です。前回のでやっていたら、queueを走査する時間がかかりすぎるようになって結局崩壊してしまったので、さらに改良しました。ただし、今回のは時間が多少ずれる場合があります。なので、ストップウォッチなどのプログラムを作る場合は使わないでください。 主な改良点としては .(ドット) 減らす。 文字列リテラルをループ中に記述しない。 ループ。ループのネストを減らす。 new を減らす。 関数コールを減らす。 より早い演算を使う。(+1 を ++ にするとか。他にもいっぱい) これで、めっちゃ早くなりました。やヴぁいです。 ミニマム版 var _SIi=10,_SIM='第一引数が不正です。',_SIl=0,_SIc=0,_SIS ='string',_SIF='function',_SIf=window.setInterval,_SIp=[

    IT戦記 - 複雑で重くなった JavaScript を超超ちょ???高速化する方法。
  • IT戦記 - 複雑で重くなった JavaScript を超高速化する方法。

    以下のスクリプトを他のすべてのスクリプトよりも前に読み込む。 var nativeSetInterval = window.setInterval; _setInterval = {}; window.setInterval = function(process, delay) { var entry; if(typeof process == 'string') { entry = new _setInterval.Entry(function(){eval(process);}, delay); } else if(typeof process == 'function') { entry = new _setInterval.Entry(process, delay); } else { throw Error('第一引数が不正です。'); } var id = _setInterv

    IT戦記 - 複雑で重くなった JavaScript を超高速化する方法。