IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants graphiques Android Discussion :

WebView n'interprète pas le code JSP


Sujet :

Composants graphiques Android

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 387
    Points : 301
    Points
    301
    Par défaut WebView n'interprète pas le code JSP
    Bonjour,

    Je débute en développement Androïd, et un problème se pose :
    Ma WebView n'interprète pas le code JSP que je lui fournis.

    J'ai tenté de passer avec un "loadDataWithBaseURL", mais même résultat.

    Voyez-vous pourquoi ?

    Cordialement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    32
     
    WebView myWebView = (WebView) findViewById(R.id.webkit);
    		myWebView.getSettings().setJavaScriptEnabled(true);
    		myWebView.setWebChromeClient(new WebChromeClient() {    
    	        public void onProgressChanged(WebView view, int progress) {   
    //	            activity.setTitle("Loading...");  
    //	            activity.setProgress(progress * 100);          
    //	                if(progress == 100) activity.setTitle(R.string.app_name);   
    	        }           
    	    });          
    		myWebView.setWebViewClient(new WebViewClient() {   
    	        @Override             
    	        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {      
    	            // Handle the error            
    	        }                 
    	        @Override        
    	        public boolean shouldOverrideUrlLoading(WebView view, String url) {    
    	            view.loadUrl(url);        
    	            return true;             
    	        }         
    	    }); 
    		//chargement du site http dans le webview
    		//on utilise la methode getString de la variable de contexte pour récupérer l'url car R.string.url_geek01 est un entier référence...
    		myWebView.loadUrl("file:///android_asset/www/test.jsp");
     
    		//NB on pourrait aussi charger un fichier local ainsi:myWebView.loadUrl("file://sdcard/");
    //		myWebView.setWebViewClient(new WebViewClient()); //permet d'ouvrir les liens url dans le webview et non dans le navigateur
    		myWebView.setInitialScale(1); // facteur de zoom initial
    		myWebView.getSettings().setBuiltInZoomControls(false); 
    //		// ne pas afficher le contrôle de zoom
    		myWebView.getSettings().setUseWideViewPort(true); // activer le double-tap pour zoomer
    		myWebView.getSettings().setDefaultTextEncodingName("UTF-8");
    page "test.jsp" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <html>
    <head>
    </head>
    <body>
    <%= Ceci est un test %>
    Hello world
    </body>
    </html>
    Le layout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?xml version="1.0" encoding="utf-8"?>
    <ScrollView 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@color/white"
        android:orientation="vertical">
        <WebView 
            android:id="@+id/webkit"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"/>
    </ScrollView>
    Résultat de ce code :
    "<%= Ceci est un test %> Hello World"

  2. #2
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 552
    Points : 18 446
    Points
    18 446
    Par défaut
    Les WebView ne supportent pas beaucoup de balises :
    http://commonsware.com/blog/2010/05/...-textview.html
    Keith Flint 1969 - 2019

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Encore heureux que le JSP ne peut pas être interprété par une WebView.

    JSP est juste un langage exécuté sur un serveur. Or WebView n'est pas un serveur.

    D'après ce que j'ai vu de ton programme, ta WebView charge une URL, et pas un fichier JSP. Alors as-tu essayer d'aller à cette URL directement depuis ton ordinateur ?

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    387
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 387
    Points : 301
    Points
    301
    Par défaut
    En effet, une WebView n'est pas prévue pour interpréter le code, elle ne fait que l'afficher.

    Pour se faire, il faut passer par Apache qui va interpréter le résultat et le renvoyer.

    Donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    myWebView.loadUrl("http://mon_serveur:mon_port/test.jsp");

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PHP n'interprète pas le code
    Par clarence dans le forum Apache
    Réponses: 2
    Dernier message: 27/12/2006, 18h36
  2. Pas de code retour which ?
    Par in dans le forum Linux
    Réponses: 6
    Dernier message: 10/05/2006, 14h36
  3. Réponses: 3
    Dernier message: 29/03/2006, 10h59
  4. [Débutant] IE n'interprète pas ma page xml...
    Par kennie77 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 07/11/2005, 12h06
  5. [Debutant(e)]Générer du code JSP dynamiquement
    Par Gibier dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 16/01/2004, 12h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo