サーバーに値を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>
<%@ 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"));
%>
<%@ 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"/>
:
省 略
:
