SAStruts関連

JSP関連

Java関連

JavaのWebアプリ開発

JBoss Seam関連

DI(依存性注入)

Webアプリ開発

トランザクショントークン

Webサーバ


Webサイト

環境構築

大雑把な流れは以下の通り

Tomcat

ドキュメント

入門記事、リファレンス

Tips

  • LookupDispatchActionクラス
    • 1フォームに複数のsubmitボタンがあり、どれを押すかによって違う動きをさせたいときに使う。
  • DynaActionForm
    • フォームの項目をstruts-config.xmlに設定して自動生成できる
    • <form-property>タグで指定した内容に合わせてformクラスを生成してくれる
    • 但し使用できるプロパティの型に制限がある。
    • 値取得の例
      DynaActionForm dForm = (DynaActionForm)form;
      int n = ((Integer)dForm.get("xxx")).intValue();
  • エラーメッセージにヘッダーとフッターをつける
    • エラーメッセージのプロパティファイルに以下の値を作成する
    • errors.header : エラーメッセージ出力前に1回出力される。
    • errors.footer : エラーメッセージが全て出力後に1回出力される。
    • errors.prefix : 各エラーメッセージの最初に出力される
    • errors.suffix : 各エラーメッセージの最後に出力される
  • http://strutstestcase.sourceforge.net/
  • StrutsTestCase
    • Actionクラスの単体テストをするためのフレームワーク
    • Actionによる画面遷移と定義されたActionErrorのチェックを行うことができ
    • JUnitと組み合わせて動作するように設計されている
    • Struts1.3.5から単体テスト機能がStrutsに追加されたのでそれを使うならStrutsTestCaseは不要
  • リクエストヘッダの参照
    HttpServletRequest req = RequestUtil.getRequest();
    Enumeration<String> e = req.getHeaderNames();
    while(  e.hasMoreElements() ) {
      String s = e.nextElement();
      System.out.println(s + "=" +req.getHeader(s) );
    }
  • セッション情報のバインドとアンバインドのタイミングで何かするには
    • HttpSessionBindingListener を実装すればよい
  • セッションのロケールを変更する
    HttpServletRequest req = RequestUtil.getRequest();
    HttpSession session = req.getSession();
    session.setAttribute(Globals.LOCALE_KEY, Locale.ENGLISH); 
  • URLの取得
    @Resource
    protected Map requestScope;
    
    @Execute(validator = false)
    public String test(){
    
           String requestUri = (String)requestScope.get("javax.servlet.forward.request_uri");
           String contextPath =(String)requestScope.get("javax.servlet.forward.context_path");
           String servletPath =(String)requestScope.get("javax.servlet.forward.servlet_path");
           String pathInfo =(String)requestScope.get("javax.servlet.forward.path_info");
           String queryString =(String)requestScope.get("javax.servlet.forward.query_string");
    
           System.out.println(requestUri);
           System.out.println(contextPath);
           System.out.println(servletPath);
           System.out.println(pathInfo);
           System.out.println(queryString);
                   
           return "test.html";     
    }
    • もしくは request.getURI()
    • 関連:サーブレットパスの構成要素を取得する
      getContextPath  	コンテキストパス
      getServletPath 	サーブレットパス
      getPathInfo 	拡張パス
      getPathTranslated 	拡張パス(物理パス)
      getRequestURL 	リクエスト時のURL
      getRequestURI 	コンテキストパスから拡張パスまで

struts-config.xmlのタグ

  • <global-exceptions> 例外処理の設定
    • 例外発生時のカスタムエラーページの設定
    • やり方はいろいろあるが、struts-config内におけるエラーハンドリングの記述がま ず考えられる手段だといえるだろう。
      <global-exceptions>
      <exception key="error.global" type="java.lang.Exception" path="/error.html"/>
      </global-exceptions>
      
      (struts-config.xml)
  • <global-forwards> 共通の遷移
  • <action-mappings> Actitonクラスと画面遷移(forward)の設定
    • forwardはmapping.findforward()の引数に渡す文字列
  • <message-resources> メッセージリソース
    • (ベース名).properties 日本語を使うときはnative2asciiを使う
  • <plug-in> プラグインの設定
  • <form-beans> フォームクラスの設定
  • <data-sources> データソースの設定

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-02-26 (水) 21:11:31 (373d)