StrutsアプリケーションとApcoordinatorアプリケーションを共存させることで、それぞれの業務ロジックを修正せずに組み合わせることが可能です。例えば、ログイン処理のような汎用性のあるアプリケーションをコンポーネントとして用意しておき、ApcoordinatorアプリケーションやStrutsアプリケーションと共存させることで開発期間の短縮や品質の向上を図ることができます。このとき、2つのアプリケーション間でセションスコープのオブジェクトが共有されます。
共通資産の統合
2つのWebアプリケーションを組み合わせる場合、Webアプリケーション環境定義ファイル(web.xml)を統合する必要があります。そのため、異なる利用方法で同一名の初期化パラメタやサーブレットを使用している場合は、あらかじめ名前を修正して一意名となるようにしてください。次はApcoordinatorアプリケーションとStrutsアプリケーションのWebアプリケーション環境定義ファイルを統合した例です。
<?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"> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <jsp-config> <!-- Struts Tag Library Descriptors --> <taglib> <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri> <taglib-location>/WEB-INF/struts-bean.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld</taglib-location> </taglib> <!-- UJI Tag Library Descriptor --> <taglib> <taglib-uri>uji-taglib</taglib-uri> <taglib-location>/WEB-INF/ujiall.tld</taglib-location> </taglib> </jsp-config> </web-app>
StrutsアプリケーションからApcoordinatorアプリケーションへの遷移
StrutsアプリケーションからApcoordinatorアプリケーションに遷移する場合は、Apcoordinatorの制御ページに遷移するようにフォームを作成してください。下記の例はデータBeanやコマンドを送信しない例です。
<uji:form name="myForm" action="main.jsp" > <input type="submit" value="送信" > </uji:form>
次はデータBeanとコマンドを送信する例です。ここではuji:formタグのverbsアトリビュートと、beanClsアトリビュートを使用しています。
<uji:form name="myForm" action="main.jsp" verbs="myverb" beanCls="mypkg.MyDataBean" > <input type="submit" value="送信" > </uji:form>
ApcoordinatorアプリケーションからStrutsアプリケーションへの遷移
ApcoordinatorアプリケーションからStrutsアプリケーションに遷移する場合は、JSPに遷移する場合とロジック(サーブレット)に遷移する場合の2通りがあります。
JSPに遷移する場合は、フォームのアクションに遷移先のJSPを指定してください。
<uji:form name="myForm" action="index.jsp">
<input type="submit" value="送信">
</uji:form>
ロジックに遷移する場合は、フォームのアクションにサーブレットのURLを指定してください。
<uji:form name="myForm" action="index.do">
<input type="submit" value="送信">
</uji:form>