servlet - decoupage d'une chaine de caracteres
mon problème c'est que j'ai recopié cette fonction qui marche tellement bien dans mon servlet et ça donne l'erreur en dessous:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
import java.util.StringTokenizer;
public class decoupchaine {
public static void main(String[] args) {
String bl="usr;local;java;";
StringTokenizer st = new StringTokenizer(bl, ";");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
} |
mon servlet:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
package com.mine.web;
import com.mine.model.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
//import java.util.StringTokenizer;
public class CoffeeSelect extends HttpServlet {
@Override
public void doPost( HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
//bl devient ici dciR
String dciR = request.getParameter("dciR ");
String[] dciR1=null;
Integer i=0;
StringTokenizer st = new StringTokenizer(dciR, ";");
while (st.hasMoreTokens()) {
dciR1[i]=st.nextToken();
i++;
}
request.setAttribute("dciR", dciR );
RequestDispatcher view = request.getRequestDispatcher("result.jsp");
view.forward(request, response);
}
} |
erreur:
Code:
1 2 3 4 5 6 7
| java.lang.NullPointerException
java.util.StringTokenizer.<init>(StringTokenizer.java:182)
java.util.StringTokenizer.<init>(StringTokenizer.java:204)
com.example.web.CoffeeSelect.doPost(CoffeeSelect.java:45)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) |
resultat.jsp(celle qui reçoit les données de la servlet):
Code:
1 2 3
| String[] dci= (String[]) request.getAttribute("dciR");
for (int i=0 ; i < dci.length ; i++)
System.out.println (dci[i]); |
Une idée? merci d'avance.
Erreur dans le costructeur:
c'etait
Code:
String[] dciR1=new String[20];
au lieu de
Code:
String[] dciR1=null