Java

AndroidでTwitterクライアントを作成(OAutn認証、PINコードを自動取得)

AndroidのTwitterクライアントアプリを開発する際、Twitterの認証後にブラウザ上に表示される PINコードをAndroid側に知らせる必要があります。 その際、表示されたPINコードをEditTextに入力してもらうのは面倒なので ブラウザ上のHTMLから自動取得するサン…

JAVAからマジックパケット送信(Wake on lan)

Wake On Lan(WOL)非対応のコレガ(Corega)のルーターで無理矢理WOL - 半端な日記 この記事で使ってたルーターの無線LANの調子が最近悪くなってきたので、 新しくルーターを買い換えました。 買ったのは、またしてもコレガのCG-WLRGNXB。 近所のヤマダ電機で49…

「++」や「--」演算子の前置と後置

誕生日が++ageではなくage++の理由 http://d.hatena.ne.jp/nowokay/20081114 そういえば、 「i++」は、「i = i + 1」と同じ。 て言う記述を書籍や入門系ブログ等で時々見かけるけど、 実際は、式を評価した値としては異なるんですよね。 int n1 = 1; int n2 …

2.0.8になった

https://issues.apache.org/struts/secure/ReleaseNote.jspa?projectId=10030&styleName=Html&version=21801 https://issues.apache.org/struts/secure/ReleaseNote.jspa?projectId=10030&styleName=Html&version=21796 同梱されているxworkのjarが2.0.3にな…

CustomValidatorを作ってみた

とりあえず手っ取り早く独自のValidatorを作るには、 com.opensymphony.xwork2.validator.validators.FieldValidatorSupport を拡張して以下のメソッドを実装すれば良いみたい。 public void validate(Object object) throws ValidationException; で、この…

JIRAに挙がってる改良提案

これ実装してほしい! https://issues.apache.org/struts/browse/WW-1866 一覧画面の各レコードに更新ボタンがあって、そこから 入力画面 → 確認画面 → 完了画面 と遷移していくといった、いわゆるマスタメンテ系の機能ではよくあるパターン。 こういうのは…

アクションメソッドの前後処理を記述する(@Before/@After/@BeforeResultアノテーション)

struts.xmlの修正 に以下を追記 <interceptor name="annotationInterceptor" class="com.opensymphony.xwork2.interceptor.annotations.AnnotationWorkflowInterceptor"/> に以下を追記 <interceptor-ref name="annotationInterceptor"/> Actionクラス public class BeforeAfterAction extends ActionSupport { @Before public void before(){…</interceptor-ref></interceptor>

入力チェックしてみる(実行メソッド毎にValidationを変えたい)

以下のようなActionがあったとして public class Hoge2Action extends ActionSupport { private String hoge1; private String hoge2; public String hoge1(){ return "hoge1"; } public String hoge2(){ return "hoge2"; } public String getHoge1() { retu…

入力チェックしてみる(Beanに定義したValidationを実行したい)

sample.Person public class Person { private String id; private String password; private String name; public String getId() { return id; } @RequiredStringValidator(message="IDは必須です") public void setId(String id) { this.id = id; } publi…

入力チェックしてみる(続き)

Annotation Validationを使うと、ログに methodNameのメソッドがありません的なNoSuchMethodExceptionがべろべろ出力される。 これは、Struts2というかxwork2のバグ(xwork2のJIRAに載ってた)で、最新のxwork-2.0.2.jarで修正されているらしい。てことで、jar…

入力チェックしてみる

Zero Configの方針なので、Validation Annotationsを使用します。 最初、単純に以下のようにsetterにアノテーションを追記したところ @RequiredStringValidator(message="ほげ1は必須です") public void setHoge1(String hoge1) { this.hoge1 = hoge1; } @R…

とりあえず入力formを作ってみる

sample.HogeAction public class HogeAction extends ActionSupport { private String hoge1; private String hoge2; public String view(){ return "view"; } //setter-getter public String getHoge1() { return hoge1; } public void setHoge1(String hog…

codebehindプラグイン

ログイン画面を表示するLoginActionがあるとして。 表示する画面はlogin.jspだとする。 このような簡単な画面遷移を扱うときに楽になるのがcodebehindプラグイン。 struts2-codebehind-plugin-2.0.6.jarをWEB-INF/libに配置するだけで以下の機能が有効になる…

Struts2勉強方針

少し前からStruts2の勉強をしています。 ActionやValidationの定義はxmlではなくAnnotationで設定する(ZeroConfig)方針でいきます。

ImageMagickでPDFからサムネイル生成〜convertコマンドでページ指定する方法〜

・ImageMagickとghostscript(convertコマンド) ImageMagickとghostscriptでPDFのサムネイルを作成するには convert input.pdf output.jpg のようにconvertコマンドを使用して生成できます。 このコマンドでは例えばpdfが3ページあった場合 output-0.jpg、o…

JMagickでPDFからサムネイル作成

JMagickを使って大量のPDFからサムネイルを生成してたら、作成されるJPEGの形式がRGBとCMYKごっちゃになっていた。MagickImage image = new MagickImage(); ・・・ QuantizeInfo qzInfo = new QuantizeInfo(); qzInfo.setColorspace(ColorspaceType.RGBColor…

Actionを作成する時のキーボード操作

前提 abstractな実行メソッド(StrutsのAction#executeのシグニチャを変えたexecuteメソッドとする)を持つ 基底Actionクラス(BaseActionとする)を継承する場合1〜10.同上 11.extends BaseActionを記述 12.Alt、S、V(メソッドをオーバーライド/…

ActionFormを作成するときのキーボード操作

0.(エディタにフォーカスされているとする) 1.Alt+Shift+Q、P(パッケージエクスプローラへフォーカス) 2.対象のパッケージへ移動 3.Ctrl+N(新規) 4.「クラス」を選択しEnter 5.作成するクラス名を入力しEnter 6.Shift+Ctrl+↓ 7.End 8…

ディレクティブスペースのTrim

http://d.hatena.ne.jp/agt/20060804 こんな方法もあったのか。 JSP2.0からある仕様なのだろうか?今度試してみよう。 前回の日記で挙げたJSPでのCSV出力ですが、その後地味に凝りだしてしまって ・ JSPServletが出力する改行、行の両端のスペース、空行をTr…

JSPの新しい(?)使い方

JSP2.1で、pageディレクティブにtrimDirectiveWhitespacesというオプションが追加される。 JSPのディレクティブやカスタムタグなんかを記述している行が、今までは空白行として出力されていたのを除外できる機能。 ふと、どうにかしてこの機能を何かに利用で…

JAVA EE5 servlet API2.5の仕様をちょっとだけ見てみたのでメモ。 サーブレットフィルタのマッピングで、今までのURLパターンによる指定だけでなく、特定のサーブレットに対してフィルタを指定できるようになった。 ブラウザからWEB画面のソースを表示したと…

eclipseショートカットめも

F12でエディタへフォーカス移動 Alt+Shift+Qで前面。Pでパッケージエクスプローラー eclipse3.1だと、Alt+Shift+Qの後にその後の操作一覧が表示される Alt+カーソル上下で選択部分を移動 Alt+Ctrl+カーソル上下で選択部分をコピー Alt+Ctrl+Shift+カーソル上…

サン認定JAVAプログラマ(SJC-P 310-055)

米での開始から10ヶ月遅れでようやく日本でも始まったわけですが アップグレード試験はまだ無い模様。 普通に通常試験受けようかな。