如何将从 html 文本框接收到的字符串转换为数组,然后将其传输到存储过程?

我在文本框中收到字符串(例如:“Delhi,Mumbai,Kolkata”),然后将其发送到 jsp 页面,我需要将其转换为数组,以便数组的第一个元素为“Delhi”,第二个元素为“孟买”等。现在我想将这个数组发送到我的数据库处理程序页面,在那里我有一个方法需要接收这个字符串并使用这个参数调用存储过程。基本上,我不确定如何将字符串转换为数组,然后将其传递给存储过程。任何帮助将不胜感激。谢谢。


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;

    }

存储过程需要接收数组。


收到一只叮咚
浏览 178回答 3
3回答

交互式爱情

使用String cities[] = stringVariable.split("");这会将具有多个城市的字符串转换为城市的字符串数组。

临摹微笑

您可以将值传递给 java 类,如下所示,<jsp:useBean id="sample" scope="page" class="com.mellon.sample" /> // sample is java file name&nbsp;&nbsp;//-------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);

守着星空守着你

好吧,我知道它是怎么做到的。在 zz 方法下的 dbhandler.java 页面中,我添加了: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[] variableCallable statement= con.prepareCall("{call zz1(?,?)}");ps.setArray(1, array);...and so on.
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java