Tatsuya Blog
msgbartop
ニートになりたいプログラマ
msgbarbottom

2009-08-07 01:22 [JC]外部公開しました。

  • Share

この度やっと、自宅の開発環境を外部に公開することが出来ました。
下記がそのURLになります。

http://fukata.myhome.cx:8180/jc-front/Index

まだ、デザインも自分で作成しているので味気ないですが、とりあえず動いてますwまだ、未実装な部分もかなり残っていますが^^;
肝心の新規登録もまだ未実装状態なので、もし使ってみたいと思った方は、お問い合わせフォームからメールしてもらえればアカウントを登録致します。

本当に人手が足りない状態です^^;
javaに興味がある方募集中ですw

Tags:

2009-07-30 01:10 [JC]改行コードをbrタグに置換するタグライブラリを作成しました

  • Share

はい。タイトル通りのタグライブラリを作成してみました。当初普通のJSPのタグライブラリを作成したのですが、下記のように値を渡す予定だったのですが、これじゃ渡せないじゃんということに作成し終わった後に気づいて作成しなおしました。というか、デバッグの始まりでしたw

<jc :txt2br value="%{messageDto.body}"/>

今回作成したのは下記の4点です。

  • Text2BrTag.java:タグライブラリクラス
  • Text2Br.java:タグライブラリコンポーネント
  • HtmlUtils.java:HTML出力用ユーティリティ
  • jcommunity.tld:カスタムタグ定義ファイル

また今回も醜いかとは思いますが、何かの役に立てばと思い、ソースを貼り付けておきます。

(more…)

Tags: , ,

2009-07-25 23:39 [JC]日記削除と日記コメント削除機能を追加しました

  • Share

表題の通り、「日記削除」と「日記コメント削除」を追加しました。これで、日記に関する機能は最低限整ったのではないかと思います。まぁ、本当のことを言えば、入力したデータの改行コードをHTML表示用に変換するユーティリティを作成しないと見栄えが悪いんですけどね^^;(現在は、改行されずに見た目上1行で表示されている感じです)

SNSと言いながら未だに「友達申請」ができないので次はその辺を作成しようかと思います。メッセージ管理ですね。

う〜ん、本当に人手が欲しい今日この頃です;;

Tags:

2009-07-25 09:32 [JC]Struts2での例外処理について

  • Share

ExceptionSequenceActionなどでExceptionが発生した際に、自動的にエラーページに遷移できるようにしておくと余計なエラー処理を内部で各必要がなくなるので便利かと思い作成しました。

今回の要件として、上記に加え、エラーの内容をメッセージコードで管理しているのでそれを利用し、さらに意図しないエラーの場合はデフォルトのメッセージコードを割り当てるというものです。

作成したのは、「com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor」を継承した自作例外インターセプタークラスだけです。実際、処理もほとんど変わっていません。

いつもの用に作成したソースは、下記に掲載しているので良ければ見てください。

作成したクラス以外の注意点として、インターセプタースタックにデフォルトの「defaultStack」を利用している場合、exceptionという通常の例外処理用インターセプターが存在するため、それを除外する必要があります。定義済みのスタックから除外する方法が見つからなかったので、defaultStackからexceptionを除いてstruts.xmlにて再定義しています。

(more…)

Tags: ,

2009-07-23 02:43 [JC]コメント投稿機能追加とJSでtrimメソッド

  • Share

ArticleDetail_1248284312768やっとコメント投稿機能を追加しました。

そして、その際、空白コメントや、改行しかないコメントの場合にJSでエラーを出すようにしてみたのですが、その際作成したtrimメソッドのコードを公開したいと思います。まぁ、と言っても簡単な正規表現を繰り替えしているだけなんですけどね^^;

正規表現を考えるのがだるかったので、パワーコードになっているので利用する際は注意してください。

■string.js

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
String.prototype.trim = function() {
	var _str = this;
	var length = 0;
	do {
		length = _str.length;
		// 先頭、末尾の半角空白文字の削除
		_str = _str.replace(/^[ ]+|[ ]+$/g, '');
		// 先頭、末尾の全角空白文字の削除
		_str = _str.replace(/^[ ]+|[ ]+$/g, '');
		// 先頭、末尾の改行コードの削除
		_str = _str.replace(/^[\r\n]+|[\r\n]+$/g, '');
	} while (length!=_str.length)
 
	return _str;
}

Tags: ,

2009-07-22 21:18 [JC]jspファイルの命名規則

  • Share

今まで、jspのファイル名を適当に付けていたのですが、ちょっと破綻ぎみになってきたので統一しようかと思っています。

■基本的な命名規則

javaのクラス名と同様(頭文字を大文字、単語の区切り文字を大文字それ以外は小文字)
例:ArticleDetail.jsp

■類似画面の命名規則

基本的なファイル名+ハイフン+識別する文字列(基本的な命名規則に準拠)
例:ArticleDetail-Friends.jsp

■include専用のファイルの命名規則

アンダースコア+(基本的な命名規則または類似画面の命名規則)
例:_Sidebar.jsp

こんな感じになりました。
皆さんはどのような命名規則で開発を行っていますか?

Tags:

2009-07-19 01:34 [JC]DWR2+Spring2の連携とTwitter4Jに対応しました

  • Share

home_1247931392419タイトルからも分かる通り、SNS内から、Twitterを通じて発言できるようにしてみました。さらに、Ajaxのライブラリとして、DWR2を採用。同ライブラリは元々Springとの連携も考慮されているので、比較的連携は簡単でした。

また、Twitterのライブラリとしてfaff.jpの作成者でもあるHaruyoshiさんから「Twitter4J」が便利だと聞いて採用しました。Javaオブジェクトで操作が出来るため、自分でXMLなどの面倒なパースをしなくて済むのが一番の大きな点です。

JavaでTwitterと連携したいのであれば、一番簡単なんじゃないかと思います。注意として、ライブラリを最新版(2.0.8)にしないと、Twitter側のAPIとの絡みでExceptionは発生します。なので、使用する際は、最新版を利用してください。

まぁ、今回の連携について、コードを残しておきますので、何かの役に立てばと思います。

DWR2+Spring2の連携により、dwr.xmlの記述が必要なくなり、applicationContext.xmlに記述するだけでよくなり、Springに慣れている人は設定しやすいと思います。

自分メモですが、今回のタグは「MileStone_008」にDWR2+Spring2の連動までの確認を含めたソースをコミットしています。

(more…)

Tags: , , ,

2009-07-15 07:52 [JC]ログイン画面用の画像分割プログラム

  • Share

_1247611434908画像は開発途中のログイン画面のものなのであまり気にしないで下さい^^;

今回作成したのは、mixiであるような大きな画像を等分割して体感速度を上げるための小細工用のプログラムです。単純に指定されたサイズで画像を切り取っています。まぁ、画像ソフトの使い方を知らない自分としては、これしか使い道がないですし、なによりプログラムになっているので指定された材料を置けば使える状態になっているので、2、3度行う時にかなり便利です。

というか、やはりフロント側もjavaで作ることになっちゃいましたね^^;なんというか、管理側から作成するにはかなりの根気がないとモチベーション的に持たないことが分かりましたw

プログラムは詳細以下に載せておきたいと思います。

(more…)

Tags:

2009-07-07 05:43 [JC]Struts2でjsp内でsessionの値の取得について

  • Share

セッションにキー「user」としてUserクラスのインスタンスを格納して、jsp内で、Userクラスのnameフィールドを表示したい。というようなシナリオがあるとします。今回はそのようなシナリオでやっていこうと思います。

■User.java

1
2
3
4
5
6
7
8
9
10
11
public class User {
	private String name;
 
	public String getName(){
		return this.name;
	}
 
	public String setName(String name){
		return this.name = name;
	}
}

■Hoge.jsp

1
Hello <s :property value="#session.user.name"/>

簡単に書きましたが、以下のフォーマットでアクセスできるようです。

<s :property value="#session.[キー名].[フィールド名]"/>

ちなみに、Mapなんかでも同じようにアクセスできるので、試してみて下さい。

Tags: , , ,

2009-07-07 05:02 [JC]「Cannot load JDBC driver class」エラーについて

  • Share

admin_1246910707127Spring2 + Struts2 + iBatisの特にiBatis回りの動作確認を行っていたんですが、「Cannot load JDBC driver class」エラーが出ていてハマっていました。いや、Eclipseのビルドパスには、jdbc.jarファイルは登録していたんですよ。それでも、エラーが出続けていたのでしょうがなく、${CATALINA_HOME}/common/libにjdbc.jarファイルを入れたら動くようになりました。以前は、Eclipseのビルドパスに登録するだけで良かったような気がするんだけどなぁ。。。

とりあえず、何はともあれ、iBatis回りの動作確認が取れましたので、本格的に実装が乗り始めそうな予感がしています。

struts2での、session内の値の取得方法などについても分かったことがありますので、今度記事に書きたいと思います。

Tags: , ,