0

HashMap別のクラスから渡された「サービス」パラメーターごとにクエリ結果を保存し、それらをアプリケーションスコープに保存したいのですapplication.setAttribute()が、サービスがアプリケーションスコープに存在する場合は、からそれらの値を取得できます application.getAttribute()。サービスごとに 3 つの列が格納されます。アプリケーションスコープに存在する場合、サービスパラメーターに応じてこれらの 3 つの列の値を取得するにはどうすればよいですか? アプリケーションスコープに値を保存する方法を提案してください(次のコードで間違っている場合)。

 service=request.getParameter("service");   
 Map<String,String> FreetextMap=new HashMap<String,String>();

if(application.getAttribute(service)==null )
{
query = "SELECT aUnique,aTitle,aBody FROM FreeTexts WHERE service='" +service+ "'     
rs = DBUtils.getRs(con,query);
if (rs.next()) {
clientFreetextMap.put("unique", rs.getString("aUnique"));
clientFreetextMap.put("body",rs.getString("aBody"));
clientFreetextMap.put("txt",rs.getString("aTitle"));
application.setAttribute(service,clientFreetextMap);

 }

次のコードは、アプリケーション スコープから値を取得する役割を果たしますが、サービスを宣言するための何かが欠けていることがわかっているため、取得できません。サービスをどこに書くべきかわかりませんか?? サービスパラメータに関する値を取得する方法??

    else 
     {
   txt=(String) application.getAttribute(clientFreetextMap.get("txt"));
   uniqueid=(String) application.getAttribute(clientFreetextMap.get("unique"));
   adsbody=(String) application.getAttribute(clientFreetextMap.get("body"));
     }
4

1 に答える 1