※ ChatGPTを利用し、要約された質問です(原文:parameterのunicode変換)
parameterのunicode変換について
このQ&Aのポイント
parameterのunicode変換について聞かせてください。servletでparameterを受け取って、unicode変換させて、必要なparameterだけを使うということです。ここでは具体的な変換方法についての質問です。
質問者はHashtableを使用して、受け取ったparameterを変換していますが、特定の値だけ欲しい場合にどのようにすればよいかわかりません。具体的には、hinmeiとhinbanの値を個別に取得したいとのことです。回答者にはこの方法について教えてほしいとのことです。
質問者は特定の値だけを取得したい場合の方法を教えてほしいとのことです。具体的には、hinmeiとhinbanの値を個別に取得したいとのことです。質問者はこの変換方法がわからず困っています。
unicode変換について聞かせてください。
servletでparameterを受け取って、unicode変換させて、自分の
必要なparameterだけを使うということです。
いろいろHPなどを参考に調べた結果、
Hashtable data = new Hashtable();
Enumeration e = request.getParameterNames();
while (e.hasMoreElements()) {
String key = (String)e.nextElement();
String[] values = request.getParameterValues(key);
try {
data.put(key,new String(values[0].getBytes("8859_1"),"JISAutoDetect"));
}
catch(java.io.UnsupportedEncodingException ex) {
}
}
との内容の変換を元に考えたのですが、自分では改造できずにいます。
上記の例では、Hashtableに収められた、変換内容の取得が、
String hinmei = (String)data.get(kye);
などとすると、hinmeiのunicode変換された値がすべて取得される
と思います。
しかし、自分の欲しいunicode変換された値だけを取得するには
どのようにしたらよいでしょうか?
例えば、
String hinmei = (String)data.get(hinmei);
String hinban = (String)data.get(hinban);
というように、個別で取得したいのです。
もちろん、この他にも、parameterで送られてきている値は、あるかも
知れませんが、この場合は使わず・・・。
また、使うときには、
String hinmoku = (String)data.get(hinmoku);
と追加するだけでいいようにしたいのです。
ご教授できらた幸いです。
お礼
非常に分かりにくい、質問、回答くださってありがとうございます。 tautauさんの、言うとおりに、オーバーライドする方法、 Mapをラップクラス作成等をもう一度検討しつつ、1から設計しようと 思います。 分かりにくい質問、回答くださってありがとうございました。