Apcoordinator ユーザーズガイド
目次 前ページ次ページ

付録E Strutsとの連携> E.2 UJIタグを使ったプログラミング

E.2.2 JSPの編集

UJIタグを利用する場合は、まずWebアプリケーション環境定義ファイル (web.xml) を編集します。
次の例のようにUJIタグ用のタグライブラリディスクリプタファイル (ujiall.tld) の場所をtaglib要素で指定してください。


<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
      version="2.4">
  ...
  <jsp-config>
      <taglib>
          <taglib-uri>uji-taglib</taglib-uri>
          <taglib-location>/WEB-INF/ujiall.tld</taglib-location>
      </taglib>
  </jsp-config>
  ...
</web-app>


JSPを編集します。まず、"uji:"という接頭辞でUJIタグを使うことをtaglibディレクティブで宣言します。
次に、データBeanのプロパティを参照するためにuji:useBeanタグを記述します。このとき必ずscopeアトリビュートと requestアトリビュートを指定してください。
scopeアトリビュートにはデータBeanを設定したスコープを、requestアトリビュートには"true"を指定します。


<%@ taglib uri="uji-taglib" prefix="uji" %>
...
<uji:useBean id="myDataBean" cls="mypkg.MyDataBean" scope="request" request="true" />

以上でUJIタグを利用する準備が整いました。 Strutsアプリケーションで利用できるUJIタグは、利用する場所によって異なります。以下、それぞれの場合について説明します。

uji:form内で利用する場合

uji:form内でUJIタグを利用する場合は、uji:formのコンテントとして記述できるすべてのUJIタグを利用することができます。 ただし、Strutsタグを利用することはできません。またuji:formbeanIdアトリビュートにはuji:useBeanidアトリビュートで指定した値を使用してください。 次に使用例を示します。


<uji:useBean id="myDataBean" cls="mypkg.MyDataBean" scope="request" request="true" />

<uji:form name="myform" beanId="myDataBean" action="MyAction.do" >
  <uji:tableView bean="myDataBean" property="table"
                 borderWidth="1" ruleWidth="1" dataEditable=";;true" />
  <input name="submit" type="submit" value="submit">
</uji:form>


注意
uji:formタグのactionアトリビュートにはサーブレットのURLを記述してください。
struts-config.xmlのactionタグに指定した名前ではありません。

html:formを利用する場合

html:form内でUJIタグを利用する場合は、html:form直下のコンテントとしてコンポーネントタグを利用することができます。
ただし、UJIタグリファレンスで、uji:formタグのコンテントで使用した場合のみ有効と記載されているアトリビュートは使用できません。このようなアトリビュートを利用する場合はuji:formを使用してください。

また、値を更新するためにHTMLのINPUTタグで隠しパラメタ"uji.id"を送信する必要があります。
"uji.id"に指定する値はuji:useBeanidアトリビュートで指定した値を使用してください。
次に使用例を示します。


<uji:useBean id="myDataBean" cls="mypkg.MyDataBean" scope="request" request="true" />

<html:form name="myForm" action="myAction" type="mypkg.MyFormBean">
  <input type="hidden" name="uji.id" value="myDataBean" />
  <uji:tableView bean="myDataBean" property="table"
                 borderWidth="1" ruleWidth="1" dataEditable=";;true" />
  <html:submit value="決定" />
</html:form>



注意
html:form内でuji:anchorタグを利用する場合は、フォーム指定モードで使用してください。

■フォーム外で利用する場合

uji:formhtml:formなどのフォームの外でUJIタグを利用する場合は、フォーム外で利用可能な次のUJIタグを使用することができます。

ただし、html:htmlタグを除いてStrutsタグとUJIタグを入れ子にすることはできません。

・uji:includeを使用する場合の注意事項

uji:includeを使用する場合は次の点に注意してください。


目次 前ページ次ページ

All Rights Reserved, Copyright © 富士通株式会社 2000-2007