Как преобразовать строку в массив, полученный из текстового поля HTML, а затем перенести его в хранимую процедуру? - PullRequest
0 голосов
/ 11 июля 2019

Я получаю строку в текстовом поле (например: «Дели, Мумбаи, Калькутта»), а затем отправляю ее на страницу jsp, где мне нужно преобразовать ее в массив, чтобы первый элемент массива имел «Дели», второй имеет "мумбаи" и тд. Теперь я хочу отправить этот массив на мою страницу обработчика базы данных, где у меня есть метод, который должен получить эту строку и вызвать хранимую процедуру с этим параметром. По сути, я не уверен, как преобразовать строку в массив, а затем передать ее в хранимую процедуру. Любая помощь будет высоко оценена. Спасибо.

This is my jsp code:
String s_word= request.getParameter("Search_Word");
            session.setAttribute("ssword", s_word);
            String[] indnames = s_word.split(",");
//Here i don't know how to send indnames to the dbhandler page.
-----------------------------------------------------------------------
My method in dbhandler.java
public static ResultSet zz(String[] a) {
        ResultSet rs=null;
        try {

            Connection con = getConnection();
            CallableStatement ps = con.prepareCall("{call zz1(?,?)}");
            ps.setArray(1,a);
            ps.registerOutParameter(2, OracleTypes.CURSOR);
            ps.execute();

            rs = ((OracleCallableStatement) ps).getCursor(2);

        } catch (Exception e) {
        }
        return rs;
    }

Массив должен быть получен хранимой процедурой.

Ответы [ 3 ]

1 голос
/ 11 июля 2019

Использование

String cities[] = stringVariable.split("");

Это преобразует строку с несколькими городами в массив строк.

0 голосов
/ 12 июля 2019

Хорошо, я узнал, как это делается.На моей странице dbhandler.java под методом zz я добавил:

Connection con = getConnection();
ArrayDescriptor arr= ArrayDescriptor.createDescriptor("ARRAY_COLLECTION",con);
//Here ARRAY_COLLECTION is my array type.
Array array= new ARRAY(arr,con,a);
//'a' is my String[] variable
Callable statement= con.prepareCall("{call zz1(?,?)}");
ps.setArray(1, array);
.
.
.
and so on.
0 голосов
/ 11 июля 2019

вы можете передать значение в Java-класс, как показано ниже,

<jsp:useBean id="sample" scope="page" class="com.mellon.sample" /> // sample is java file name  

//-------now pass parameter indnames to your sample java file here sample is the class name and function_name is the method name.

sample.function_name(indnames);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...