プログラマメモ2 - programmer no memo2

warからvmファイルを読み込みたい、springのVelocityConfigurerを使ってみる。 2011/05/28

Javaです。springです。velocityです。
デプロイしたwarファイルの中からvmファイルを読み込んで使いたかったわけです。
VelocityConfigurerを使うと簡単でした。

<bean id="velocityConfig"
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath" value="/WEB-INF/resources/template/"/>
</bean>


で、
@Autowired
protected VelocityConfigurer velocityConfigurer;

にして使うときは、


Template template = velocityConfigurer.getVelocityEngine()
.getTemplate(
"test_utf8.vm",
"utf-8");

これで、beans.xmlに指定された場所から読み込んでくれる。

org.springframework.ui.velocity.VelocityEngineFactoryはどこにいるのさ 2011/05/28

Javaです。ねむいです。
Springです。

下記のクラスがどのJarにいるのかなやんでおりました。

org.springframework.ui.velocity.VelocityEngineFactory


このクラスはずばり、org.springframework.context.support-3.1.0.M1.jarにありました。
contextのsupportですね。はい。

春から梅雨そして初夏へ - springでsql IN句 SimpleJdbcTemplate使ってるとき 2011/05/28

Javaです。
Springです。春から梅雨そして初夏へ という時期ですね。

IN句でのパラメータの指定の仕方がわからなかったのでメモ
SimpleJdbcTemplateを使っていて、どうやってすればいいのだろうと悩んだわけです。

をみてるとまあできるんだなーというのはわかったのですが。

結論として、SimpleJdbcTemplateにgetNamedParameterJdbcOperations()というのがあるのでそれにたいしてqueryすればOKでした。が、mapperとparametersの位置が逆...

MapSqlParameterSource parameters = new MapSqlParameterSource();
parameters.addValue("ids", Arrays.asList(ids));
RowMapper<Anken> mapper = new BeanPropertyRowMapper<Anken>(Anken.class);
return this.template.getNamedParameterJdbcOperations().query(SQL_SELECT_LIST, parameters, mapper);

jquery ちぇっくぼっくすの値を集めてカンマで連結するよ 2011/05/28



jqueryです。
checkboxの値を全部収集して、RESTな感じで送りたいなーと思ってたのでした。

こんな感じ
// チェックされたチェックボックスの値をカンマ区切りで連結
var s = $( "input:checked" ).map( function() {
return $(this).val();
}).get().join(",");

alert(s);

ant taskでsshexecでさらにsudoしたい 2011/05/22


Javaです。antです。
antを使ってビルドして作成したwarファイルをアップロードしてサービスを再起動ってことをしたかったわけです。

rootでsshを禁止にするポリシーにしたので、sudoでサービスの再起動することになったわけですが、はまったのでメモです。



上記のリンクどうりにすればよいわけです。

centosを対象としてます。

/etc/sudoers
を編集します。

#Defaults requiretty
Defaults visiblepw


Defaults requirettyはコメントアウトして、Defaults visiblepwを追加しました。
このふたつが大事かなと。
この辺知識がないからまったくのトライ&エラー。
/etc/sudoers
のパーミッションをchmod 440 sudoers してもどすことを忘れずに。

ReloadableResourceBundleMessageSourceでutf-8指定 - native2acii撲滅委員会 2011/05/22



Javaです。Springです。xxx.propertiesをnative2asciiするのが面倒なので
下記のようにするとutf-8で記述できました。
<bean class="org.springframework.context.support.ReloadableResourceBundleMessageSource" id="messageSource"
p:basenames="WEB-INF/messages" p:fallbackToSystemLocale="false" p:fileEncodings="UTF-8"
p:defaultEncoding="UTF-8" />

リンクでなくてボタンとかで対応させたい場合 - prettyPopin 2011/05/16

javascriptです。prettyPopinです。



リンクでなくてボタンとかで対応させたい場合下記のようなコードで動きました。
function a() {
var $d = $("<a href='test.html' rel='prettyPopin'></a>").prettyPopin({width: 550,followScroll:false});
$d.click();
}



参考
jQueryでポップアップ(モーダルウィンドウ)「prettyPopin.js」 - amuns:blog

メッセージがある場合にdivで特定クラスを指定して表示させるということをしてます。 2011/05/15
2011/05/15

JSTLです。

css - JSTL if-statement inside HTML-attribute - Stack Overflow

メッセージがある場合にdivで特定クラスを指定して表示させるということをしてます。

<div class="${empty message ? '' : 'info'}">${message}</div>


もっといいタグがあるような気がするんだけど...
上記のコードだとclass名が指定されないdivタグが出力されてしまう。

H2 データ投入方法 2011/05/15

H2です。



データ投入方法です。

java -cp /h2/bin/*.jar org.h2.tools.RunScript -url "url" -script SQL.sql

って感じ

テストデータはスクリプト用意して出したり入れたりできるよ。

H2使いやすくて便利だなー

ろーかるほすと:8080ってしたときにエラーメッセージとともにwebappへのリンクがでるのがいやなときは,root/index.htmlをwebappsにつくるとよいのかもしれない。 2011/05/14

jettyです。


http://localhost:8080/
ってしたときにエラーメッセージとともにwebappへのリンクがでるのがいやなときは,root/index.htmlをwebappsにつくるとよいのかもしれない。

toStringの実装がめんどうくさいあなたに 2011/05/07

Javaです。


toStringの実装が面倒なら、こういう方法もあり。
出力されるスタイルは好みがわかれると思うけど。

public String toString() {
return org.apache.commons.lang3.builder.ReflectionToStringBuilder.toString(this);
}


以下の方法で複数行で出力

public String toString() {
return org.apache.commons.lang3.builder.ReflectionToStringBuilder
.toString(
this,
org.apache.commons.lang3.builder.ToStringStyle.MULTI_LINE_STYLE);
}

すぷりんぐ - select tagで選択された状態にしたい場合 2011/05/05
2011/05/07


select tagで選択された状態にしたい場合、下記のコードで実現できたようにみえたけど。。。

<form:select path="code">
<form:option value="">[select one value]</form:option>
<form:options items="${codeList}" itemLabel="labelAttribute"/>
</form:select>


これではちゃんと解決されていない...

単純にpathにオブジェクト指定すればいいのではないか...

スプリングでjsonを返したい。 2011/05/05


SpringMVCでjson返してjqueryでごにょごにょできないかなとさがしてるところです。

上記のサイトで紹介されてたjackson使う方法がとても簡単なようです。

@RequestMapping(value = "/test", method = RequestMethod.GET)
public MappingJacksonJsonView test(@RequestParam("id") String id) {
Map map = new HashMap();
map.put("id", id);
MappingJacksonJsonView view = new MappingJacksonJsonView();
view.setAttributesMap(map);
return view;
}

ルビ振り 2011/05/03


gradeを指定しなければひらがな(カタカナ)も変換してくれる。

データソース設定、スプリング 2011/05/01

Javaです。
beans.xmlへの設定。データソース。おれおれ動作環境をつくるために。

<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>org.h2.Driver</value>
</property>
<property name="url">
<value>jdbc:h2:tcp://localhost/~/test</value>
</property>
<property name="username">
<value>sa</value>
</property>
<property name="password">
<value></value>
</property>
</bean>