Struts

エンジニアの心

Struts1.3.5でクロスサイトスクリプティング対策

クロスサイトスクリプティング対策について Strutsのタグライブラリ bean:writeなどのタグリブを使えば「<」といった文字を「<」みたいに変換してくれる。 内部ではどうなっているのか? 調べてみると「ResponseUtils」ががんばってくれているらしい。このクラスは使えそうだなー。 ResponseUtils.filter(java.la...
エンジニアの心

Strutsベストプラクティス

スペシャルサンクス>元ネタ> Use intermediate Action class for common operations 一般的な操作のために中間Actionクラスを使いましょう。 共通のメソッドは中間Actionクラスを作成して共通化する。Actionクラスを継承するIntermediateActionクラスを定義し、Webアプリケ...
エンジニアの心

Struts1.3.5のクイックスタートメモ

Strutsを使う時に、どこに何があるのかなどを情報をまとめる。 前提条件として、Struts、Tiles、Validatorは動く状態になっているとする。 StrutsWebアプリケーションのプレゼンテーション層を得意とするフレームワーク。Tiles画面レイアウトを設定で簡単に行えるフレームワーク。Validatorエラーチェックを設定で簡単に行えるフレー...
エンジニアの心

Struts1.3.5とMVCモデル

IT用語辞典 MVCとは StrutsはMVC2パターンになっているのかな? 参考:IBM Struts、オープン・ソースMVC実装 Struts1.xとMVCの対応について誤解 時間がなかったのもあるのだけれど、Strustで登場するクラスとMVCの関連で認識が間違っていた。 ViewはJSPだと思ってた(正解) Model...
エンジニアの心

Struts1.3.5の例外ハンドリング手法

Strutsのドキュメント(4.4.1 Action Class Design Guidelines)を読んでいて発見したのだけれど、 Don't throw it, catch it! らしい。Actionクラスでは例外を投げず、全てキャッチしろ!ってことだと思う。Runtimeを拾うかどうかは好みなのかもしれないが、拾っておいたほうがいいかもね。 Exc...
エンジニアの心

Struts1.3.5で使った文字化け対策用Filter

Strutsを普通に使っていると、文字化けが発生する。そこで、Tomcatのサンプルにある「SetCharacterEncodingFilter」を使うといい。 使い方web.xml <filter> <filter-name>Set Character Encoding</filter-name> &l...
エンジニアの心

Struts1.3.5で国際化対応

国際化(internationalization)のこと。i18nと略されることもある。Strutsで日本語、英語の切り替えが簡単にできるようにする方法を調べた。 これをきちんとしないと、Strutsのログに以下のように出てしまう。 //例 ApplicationResources.propertiesだけ作った場合 - Resource com/daipr...
エンジニアの心

Struts1.3.5でログイン処理を作る

実装検討 Filterを使ってログインしているかどうかを判定しアクセス制限する 画像やJavascriptやCSSファイルはOKにしたいので除外URIを設定できるようにする除外URIは正規表現を使えるとうれしい(*ぐらいだけど・・・)ログイン用フォームを用意するしてそこからログインを行うログインしているかどうかは確認用オブジェクトをSessionに入れて、そ...
エンジニアの心

Struts1.3.5でのメッセージ処理

メッセージはApplicationResources.propertiesで管理できる。JSPで使うには「bean:message」タグを使えるが、Actionの中などで使う場合は以下のクラス群を利用する。 関連するクラスたち ActionMessagesメッセージはこれに入れて管理する ActionMessage正常系のメッセージ(「成功しました」など)や...
エンジニアの心

Struts1.3.5でファイルアップロード

Strutsでは簡単にファイルアップロードができる。 Formを用意する StrutsではファイルをFormFileクラスで操作する。Formにはこのゲッター、セッターを作ればいいだけ。 private FormFile file; public FormFile getFile() { return file; } public void s...
エンジニアの心

Struts1.3.5でlog4jを使うとWARNが表示される

以下のエラーがサーバ起動時(アプリケーションデプロイ時)に発生する。 log4j:WARN No appenders could be found for logger (org.apache.struts.util.PropertyMessageResources). log4j:WARN Please initialize the log4j...
エンジニアの心

Struts1.3.5でActionServlet起動時にSAXNotRecognizedException

Struts起動時にエラーが発生。ActionServletが起動しない。 org.xml.sax.SAXNotRecognizedException: Feature: at org.apache.xerces.jaxp.SAXParserFactoryImpl.setFeature(SAXParserFactoryImpl.java:100...
エンジニアの心

Struts1.3.5でActionServlet起動時にParserConfigurationException

ActionServletが起動しない。どうもstruts-config.xmlの読み込みでエラーが発生している。StrutsとDigesterのログを見ると以下のエラーが出ていた。 2007/04/25 19:52:54.913 ***** Digester.getParser: javax.xml.parsers.ParserConfigurati...
エンジニアの心

Struts1.3.5トラブルシューティング

とらぶりゅうは13章まであるらしい。
エンジニアの心

Struts1.3.5のlogicタグライブラリ

制御文などを規定したタグリブ郡。 <%@ taglib prefix="logic" uri="" %> logic logic:present/notPresent 存在判定を行う。 <!-- beanが存在しているか判定 --><logic:present name="bean">beanはあります</logic...
エンジニアの心

Struts1.3.5のhtmlタグライブラリ

HTMLタグに対応したタグリブ郡。 このタブリグを使うとHTMLとStrutsの架け橋になってくれる。 <%@ taglib uri=""prefix="html" %> html html:html HTMLコントロールを生成するHTMLカスタムタグはすべてHTMLタグ内にネストする必要がある。(らしいんだけど、tilesを使ってLayout...
エンジニアの心

Struts1.3.5のbeanタグライブラリ

JavaBeansの操作に対応したタグリブ郡。 <%@ taglib uri=""prefix="bean" %> bean bean:define 変数をbeanから取得する。ActionFormから取得するときもこれ。 <jsp:useBean id="test1" scope="page" class="org.apache.str...
エンジニアの心

Struts1.3.5のタグライブラリ

設定 TLDファイルはstruts-taglib-1.3.5.jarに入っているので、web.xmlにタグリブの指定はいらなくなったみたい。 なんかJSPでの書き方(Standard Syntax)がかわってた。 <%@ taglib uri=""prefix="bean" %> <%@ taglib uri=""pref...
エンジニアの心

Struts1.3.5でstrust-config.xmlの分割する

単純にファイルを分割する <servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <in...
エンジニアの心

Struts1.3.5のstruts-config.xml

XML宣言 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" ""> data-s...