Трудность передачи текста в качестве параметра от Android на страницу JSP - PullRequest
1 голос
/ 18 ноября 2011

Я пытаюсь передать текст с счетчика. На самом деле спиннер содержит текст x, который я получил со стороны сервера моего приложения. Итак, я пытаюсь сделать так, чтобы, как только я выбрал текст из счетчика, я хотел, чтобы эта строка передавалась на серверную часть. Поэтому здесь я передаю текст функции, которая может сделать запрос к JSP.

Основная часть кода (андроид)

    categ = ((TextView) selectedItemView).getText().toString(); 
    postData(categ);

//Remaining section
public void postData(categ) 
{

    String page="processing_pages/individual_phone_communicator.jsp?rom="+categ;
    result = ws.getWebData(page);
    if (result != null)
       plotData();
    else
       alerter("null");

}

(всегда возвращается нулевое значение. Но когда я непосредственно выполняю тот же запрос без какого-либо параметра и принимаю значение непосредственно на странице JSP, он показывает результат)

Теперь он перейдет к JSP.

String hk=request.getParameter("rom");

Теперь я выполняю запрос, подобный этому:

sqlstatem="select first_name,latitude,longitude from tbluserdetails where user_id=(select user_id from tblindividual_job where jcat_id=(select jcat_id from tbljobcat where job_name='"+hk+"'))";

Я ожидаю, что он вернет данные в виде массива json. Но вместо этого он показывает ошибку. Я попытался ввести параметр напрямую даже из браузера. Иногда на странице отображается правильный ответ с вышеуказанным запросом. Это делает меня более запутанным. Но когда я попробовал с числами, такими как 1 или 2 из затмения:

String page="processing_pages/individual_phone_communicator.jsp?rom=2"

и изменил запрос, попробовав точное слово вместо 'hk', как это

int rom=Integer.parseInt(request.getParameter("romo"));
if(rom==1)
{
   sqlstatem="select first_name,latitude,longitude from tbluserdetails";
}
else
{
sqlstatem="select first_name,latitude,longitude from tbluserdetails where user_id=(select user_id from tblindividual_job where jcat_id=(select jcat_id from tbljobcat where job_name='Blood donar'))";
}

работает правильно. Из браузера также он работает правильно, когда я передаю целое число в качестве параметра. Но мне нужно, чтобы он работал, принимая текст из эмулятора в качестве параметра.

Но когда я пытаюсь, вот так:

String page = "processing_pages / individual_phone_communicator.jsp? Rom = донор крови"

Тогда я тоже получаю нулевое значение. Я предполагаю, что моя страница JSP принимает только целочисленные параметры, я не знаю, почему это происходит.

Я использую чистые компоненты для JSP. Пожалуйста, найдите мне решение этой проблемы. Прошу игнорировать, если вопрос детский, так как я только начинающий.

1 Ответ

0 голосов
/ 18 ноября 2011

Я не знаю, что такое переменная "ws", но IP-адрес вашей локальной машины (не телефона) в эмуляторе Android равен 10.0.2.2. Поэтому любой URL, указывающий на локальное веб-приложение на вашем компьютере, должен начинаться с http://10.0.2.2/...

Mike

...