アプリ版:「スタンプのみでお礼する」機能のリリースについて

StrutsでPOSTで送ったデータを取得する方法がわかりません。
メッセージボディのデータ
param1=aaaa&param2=bbbb
の文字列を取得したいと考えています。

executeメソッドの中で
ServletInputStream is = request.getInputStream();
byte[] buff = new byte[4096];
int len = is.readLine(buff,0,4096);
を行っても
lenが-1になってしまいます。

どなたか解決方法を教えていただければと思います。
よろしくお願いします。

A 回答 (3件)

 すべてのパラメータをパラメータ名にかかわらず取得するには、


getParameterMapが使えます。
 以下は、送られてきたパラメータすべてを表示するJSPのサンプルです。

<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head>
<title>All Param</title>
</head>
<body>
<%

java.util.Iterator PA = request.getParameterMap().entrySet().iterator();
StringBuffer SB = new StringBuffer();
boolean F = true;

while (PA.hasNext()) {
if (F) {
SB.append("?");
F = false;
}
else SB.append("&");
java.util.Map.Entry EN = (java.util.Map.Entry)PA.next();
for (int i = 0; i < ((String[])EN.getValue()).length; i ++) {
out.print(EN.getKey() + "=" + ((String[])EN.getValue())[i] + "<br>");
SB.append(EN.getKey() + "=" + ((String[])EN.getValue())[i]);
};
};

out.print(SB.toString() + "<br>");

%>

<form action="http://localhost:8080/minnaservlet/jsps/postpara … method="POST">
<input type="radio" name="ra" value="1" checked>1
<input type="radio" name="ra" value="2">2
<input type="radio" name="ra" value="3">3<br>
<input type="checkbox" name="cb">check<br>
<input type="text" name="tx"><input type="text" name="tx"><br>
<input type="submit" value="send">
</form>

</body>
</html>
    • good
    • 0

こちらで如何でしょう。



http://sdc.sun.co.jp/java/docs/j2ee/sdk_1.3/ja/t …

この回答への補足

回答がりがとうございます。

ただ、getQueryStringではGETのパラメータは取得できても
POSTのパラメータを取得することができません。

POSTのパラメータを文字列として取得できる方法があると助かります。

補足日時:2007/07/10 10:27
    • good
    • 0

HttpServletRequest の getParameter で取れると思います.



http://www.jajakarta.org/tomcat/servletapi/servl …

この回答への補足

回答ありがとうございます。

ただ、getParameterで取得するのではなく

param1=aaaa&param2=bbbb
という形のまま文字列で取得したいと考えています。

補足日時:2007/07/09 15:21
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!