<%@ page contentType="text/html; charset=shift_jis" import="java.util.*,java.io.*" %><% ///////////////////////////////////////////////// //DBから検索 ///////////////////////////////////////////////// DataObject table = new DataObject( ini ); table.id = "123456"; table.find(true); if( table.title == null ){ out.print("該当するレコードがありません"); } ///////////////////////////////////////////////// //レコードをPropertiesにセットする ///////////////////////////////////////////////// Properties prop = new Properties(); prop.setProperty( "title" , new String( table.title ) ); prop.setProperty( "filename" , new String( table.filename ) ); prop.setProperty( "description" , new String( table.description ) ); prop.setProperty( "userid" , new String( table.userid ) ); ///////////////////////////////////////////////// //Propertiesをデフォルトに新しいPropertiesを作る // javascriptのprototypeみたいなもん ///////////////////////////////////////////////// Properties _default = new Properties( prop ); out.print(prop); out.print(_default); %>
これを実行すると、propと_defaultが同じになるはず。Propertiesのコンストラクタで、デフォルトを与えるのだから。しかし一致しなかった。_defaultは空だった。
prop.setProperty( "userid" , new String( table.userid ) );
この new String() した部分にポイントがありそうだ。new したのでStringインスタンスへの参照がややこしいことになってるのかもしれない。今度、もうちょっと調べてみたい。