Web ページへの Reserve ボタンの追加
この演習では、機能拡張の一例として、新しい Reserve (専有) アクションを Web クライアントページに追加する方法を説明します。Web クライアントは Web サービスを介してデータベースにアクセスするため、新しい機能を Web クライアントアプリケーションで公開するには、まず Web サービスレイヤに実装する必要があります。
1. カスタマイズした Web サービスを作成する: Reserve Web サービスメソッドの追加をクリックし、カスタマイズした Reserve Web サービスを既存の Web サービスアーキテクチャに追加する手順を実行します。
2. アクション Java Server Page (JSP) コンポーネントを追加する: この JSP コンポーネントには、Web サービスと通信する Web クライアントアプリケーションのコードが格納されています。たとえば、ReserveAction.jsp というファイルを次のように作成します。
<%@ page import="java.util.*" %>
<%@ page import="com.acme.ReserveWebService" %>
<%@taglib prefix="osm" uri="/WEB-INF/tlds/Manager.tld" %>
<osm:license writeAccess="true"/>
<%
final String referrer = request.getHeader("referer");
final String elid = request.getParameter("elid");
final ReserveWebService service = new ReserveWebService();
service.reserveElement(elid);
if(referrer!=null) {
response.sendRedirect(referrer);
} else {
response.sendRedirect("/");
}
%>
* 
標準配布では、Web クライアントアプリケーションと Web サービスは同一の Jetty サーバサービスで動作しているため、クラスパスを共有します。したがって、Web サービスのリモート呼び出しを行う必要はありません。Web サービスのリモートクライアントの作成については、Creo Elements/Direct Model Manager Web サービス用の Java クライアントの作成方法を参照してください。
3. コンポーネント JSP を作成する: このコンポーネントには、専有アクションをトリガする HTML フォームが格納されています。このコンポーネントを最終的な JSP ページに挿入できます。たとえば、ReserveComponent.jsp というファイルを次のように作成します。
<%@ page import="java.util.*" %>
<%
final String elid = request.getParameter("elid");
%>
<div class="reserve">
<form id="reserve" method="get" action="action/ReserveAction.jsp">
<input type="hidden" name="elid" value="<%=elid%>">
<input type="submit" name="reserve" value="Reserve"/>
</form>
</div>
4. JSP ページを配布する:
ReserveAction.jsp webapps\mmweb\action にコピーします。
ReserveComponent.jspwebapps\mmweb\component にコピーします。
5. コンポーネントを配置する: Creo Elements/Direct Manager Web Client の「詳細」ページを使用して、Web クライアントの XML 設定ファイルからユーザインターフェイスコンポーネントを簡単に追加できます。たとえば、「Reserve」ボタンを MODEL_3D 要素の詳細ページに追加するには、以下の手順を実行します。
a. <Manager Server Installation Directory>\WebConfig.xml を開きます。
b. MODEL_3D クラスの設定に、次のエントリを追加します。
<Class>
<Name>MODEL_3D</Name>
...
<Components>
<Component>
<Name>Reserve</Name>
<Component>component/ReserveComponent.jsp</Component>
</Component>
</Components>
...
</Class>
c. スタイルシートを使用してコンポーネントのレイアウトを制御します。たとえば、スタイルシート webapps\mmweb\style\ptc_creo\format.css に以下を追加します。
.reserve {
float: left;
display: block;
position: absolute;
left:370px;
top:280px;
}
.reserve input {
width: 150px;
}
6. Creo Elements/Direct Model Manager - Java Services Manager」ダイアログボックスを使用して、Java Service を再起動します。詳細については、このガイドの「Java Service の開始、停止、再起動」のトピックを参照してください。Windows の「サービス」パネルを使用することもできます。
これは役に立ちましたか?