Aller au contenu principal

Exalead5.1: Auwertung des Suchstrings (searchString)

Commentaires

1 commentaire

  • Zendesk API User
    Author: marro - 1/19/2012 12:49

    Hallo,

    wenn der Suchstring, wie in diesem Fall, modifiziert werden muss, dann kann er mit folgender Methode unescaped werden:

    <%!

        public String unescape(String text) {

            if (text != null) {

                java.util.StringTokenizer st = new java.util.StringTokenizer(text, "");

                java.util.ArrayList<Character> charList = new java.util.ArrayList<Character>();

                while (st.hasMoreTokens()) {

                    String token = st.nextToken();

                    if (token.length() > 0) {

                        Character charToken = (char) Integer.parseInt(token);

                        charList.add(charToken);

                    }

                }

                char[] chars = new char[charList.size()];

                for (int i = 0; i < charList.size(); i++) {

                    chars[i] = charList.get(i);

                }

                return new String(chars);

            } else return null;

        }

    %>

    Nach der Bearbeitung des Suchstrings sollte dieser aber wieder escaped werden. Dazu eignet sich folgende Methode:

    <%!

        private String escape(final String text) {

            if (text != null) {

                StringBuffer sb = new StringBuffer();

                char[] chars = text.toCharArray();

                for (final char aChar : chars) {

                    sb.append("").append((int) aChar);

                }

       

                return sb.toString();

            } else return "";

        }

    %>

    Ein Beispiel für die Nutzung der beiden Methoden, könnten so aussehen:

    <%

    String queryString = unescape((String) session.getAttribute("searchString"));

    ...

    ... Modifikation des queryStrings

    ...

    queryString = escape(queryString);

    %>

    Viele Grüße,

    Donato

    0

Vous devez vous connecter pour laisser un commentaire.