SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

OpenLaszlo(オープンラズロ)をはじめよう

OpenLaszloとサーバーサイド連携

第3回

サーバーに値をGET/POSTする

 OpenLaszloからサーバーに値をGET/POSTすることができます。文字コードはUTF-8でサーバーに送信されます。

サンプルソース
<?xml version="1.0" encoding="UTF-8"?>
<canvas fontsize="15"
        font    ="MS UI Gothic"
        debug   ="false">

  <dataset name           ="ds"
           clientcacheable="false"/>

  <view layout="axis: y; spacing: 10">
    <button id="btnTest1" text="GETする"/>
    <button id="btnTest2" text="POSTする"/>
  </view>

  <!-- GETでサーバーに送信する -->
  <handler name     ="onclick"
           reference="btnTest1">
  <![CDATA[
    ds.setSrc('http://localhost:8080/lps-4.3.0/my-apps/sample/getrecv.jsp');
    ds.setQueryType('GET');
    ds.getParams().remove();
    ds.setQueryParam('firstName', '太郎');
    ds.setQueryParam('lastName',  '長崎');
    ds.setQueryParam('phone',     '111-111-1111');
    ds.setQueryParam('email',     'aaa@aaaa.co.jp');
    ds.doRequest();
  ]]>
  </handler>

  <!-- POSTでサーバーに送信する -->
  <handler name ="onclick"
       reference="btnTest2">
  <![CDATA[
    ds.setSrc('http://localhost:8080/lps-4.3.0/my-apps/sample/postrecv.jsp');
    ds.setQueryType('POST');
    ds.getParams().remove();
    ds.setQueryParam('firstName', '花子');
    ds.setQueryParam('lastName',  '諫早');
    ds.setQueryParam('phone',     '222-222-2222');
    ds.setQueryParam('email',     'bbb@bbbb.co.jp');
    ds.doRequest();
  ]]>
  </handler>

</canvas>
getrecv.jspのソース
<%@ page pageEncoding="UTF-8"%>
<%@ page contentType="text/html;charset=UTF-8" %>
<%
  request.setCharacterEncoding("UTF-8");

  System.out.println("\n--- GETで受け取ったデータ ---");
  System.out.println("firstName:" + request.getParameter("firstName"));
  System.out.println("lastName:"  + request.getParameter("lastName"));
  System.out.println("phone:"     + request.getParameter("phone"));
  System.out.println("email:"     + request.getParameter("email"));
%>
postrecv.jspのソース
<%@ page pageEncoding="UTF-8"%>
<%@ page contentType="text/html;charset=UTF-8" %>
<%
  System.out.println("\n--- POSTで受け取ったデータ ---");
  System.out.println("firstName:" + request.getParameter("firstName"));
  System.out.println("lastName:"  + request.getParameter("lastName"));
  System.out.println("phone:"     + request.getParameter("phone"));
  System.out.println("email:"     + request.getParameter("email"));
%>
サンプルソースを実行した結果
サンプルソースを実行した結果

 JSPでGETで値を取得したときに文字化けする場合があります。文字化けした場合は、tomcatのserver.xmlにuseBodyEncodingForURI="true"を追加してtomcatを再起動してください。server.xmlは、$TOMCAT_HOME/confにあります。

<Service name="LPS">
  <Connector port="8080"
             compression="on"
             compressionMinSize="2048"
             noCompressionUserAgents="gozilla, traviata"
             compressableMimeType="application/xml,text/html,text/xml,text/javascript,application/x-javascript,application/javascript"
             useBodyEncodingForURI="true"/>
                 :
               省 略
                 :

次のページ
ファイルのアップロード

この記事は参考になりましたか?

OpenLaszlo(オープンラズロ)をはじめよう連載記事一覧

もっと読む

この記事の著者

株式会社ドゥアイネット 前田慎治(マエダシンジ)

株式会社ドゥアイネットに勤務するプログラマーです。制御系から事務系まで様々な開発を経験し、現在はCurlやOpenLaszloを使ってRIAの開発を担当しています。OpenLaszloで開発した「スマートスケジューラー」http://www.dinss.jp/

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3999 2009/06/17 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー